roparzhhemon237 Posted October 28, 2014 Share Posted October 28, 2014 I have following piece of code below, and I would like to be able to express it pure SQL, something that could go into a .sql file : $request_string='SELECT topic_forum_id FROM topic_table WHERE topic_id= 2014'; $query=database->prepare($request_string); $query->execute(); $data=$query->fetch(); $query->closeCursor(); $forum=$data['topic_forum_id']; $request_string='INSERT INTO post_table (post_topic,post_forum) VALUES (2014,:forum)'; $query=database->prepare($request_string); $query->bindValue(':forum',$forum,PDO::PARAM_INT); $query->execute(); $data=$query->fetch(); $query->closeCursor(); Is it possible ? Link to comment https://forums.phpfreaks.com/topic/292117-is-this-mix-of-php-and-mysql-translatable-into-pure-mysql/ Share on other sites More sharing options...
Barand Posted October 28, 2014 Share Posted October 28, 2014 If that hard-code "2014" never needs to change INSERT INTO post_table (post_topic, post_forum) SELECT 2014, topic_forum_id FROM topic_table WHERE topic_id= 2014; Link to comment https://forums.phpfreaks.com/topic/292117-is-this-mix-of-php-and-mysql-translatable-into-pure-mysql/#findComment-1495020 Share on other sites More sharing options...
roparzhhemon237 Posted October 28, 2014 Author Share Posted October 28, 2014 If that hard-code "2014" never needs to change INSERT INTO post_table (post_topic, post_forum) SELECT 2014, topic_forum_id FROM topic_table WHERE topic_id= 2014; This sort of code is completely new to me. I understand SELECT acts a subquery in it ? Where is that construct explained in the MySQL manual ? Link to comment https://forums.phpfreaks.com/topic/292117-is-this-mix-of-php-and-mysql-translatable-into-pure-mysql/#findComment-1495028 Share on other sites More sharing options...
ginerjm Posted October 28, 2014 Share Posted October 28, 2014 acts? What's a 'acts'? Link to comment https://forums.phpfreaks.com/topic/292117-is-this-mix-of-php-and-mysql-translatable-into-pure-mysql/#findComment-1495029 Share on other sites More sharing options...
Ch0cu3r Posted October 28, 2014 Share Posted October 28, 2014 An insert select statement is explained here Basically the rows returned by the select statement will used as the values to insert into the table. Link to comment https://forums.phpfreaks.com/topic/292117-is-this-mix-of-php-and-mysql-translatable-into-pure-mysql/#findComment-1495032 Share on other sites More sharing options...
Barand Posted October 28, 2014 Share Posted October 28, 2014 acts? What's a 'acts'? act: verb behave perform operate function @roparzhhemon237, It isn't a subquery, it is part of the INSERT...SELECT syntax, as Ch0cu3r's link shows Link to comment https://forums.phpfreaks.com/topic/292117-is-this-mix-of-php-and-mysql-translatable-into-pure-mysql/#findComment-1495033 Share on other sites More sharing options...
roparzhhemon237 Posted October 29, 2014 Author Share Posted October 29, 2014 An insert select statement is explained here Basically the rows returned by the select statement will used as the values to insert into the table. Thank you for your helpful answer. Can I use this construct with UPDATE also ? E.g, can I write something like UPDATE post_table SET post_forum_id=(SELECT topic_forum_id FROM table_topic WHERE topic_id=2014) WHERE post_id=237; This looks like a real subquery this time. Link to comment https://forums.phpfreaks.com/topic/292117-is-this-mix-of-php-and-mysql-translatable-into-pure-mysql/#findComment-1495081 Share on other sites More sharing options...
Barand Posted October 29, 2014 Share Posted October 29, 2014 Probably. Let us know. Or, you could UPDATE post JOIN topic ON topic_id = 2014 SET post_forum_id = topic_forum_id WHERE post_id = 237; Link to comment https://forums.phpfreaks.com/topic/292117-is-this-mix-of-php-and-mysql-translatable-into-pure-mysql/#findComment-1495085 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.