簡體   English   中英

如何在MySQL INSERT查詢中將PHP變量與SELECT數據混合?

[英]How can I mix PHP variables with SELECT data in a MySQL INSERT query?

我有一個具有table1 (id, name_id, value)table2 (id, name, other)

那我有一些數據

$name = 'a name';
$value = 'a value';

我想使用值$name作為table2.name來獲取table2.id並將其作為table1.name_id插入到table1 ,但是我也想將$value插入到table1

在執行SELECT我可以使用JOIN ,但是我發現INSERT的唯一一件事就是使用SELECT查詢而不是VALUES

但是,我想使用table2id )中的一個值以及插入$value但是SELECT方法似乎只將數據從一個表( table2 )復制到另一個table2

編輯:偽SQL

<pre>INSERT INTO `table1` (`name_id`, `value`)
VALUES ((`table2`.`id` WHERE `table2`.`name` = $name), $value)</pre>

這樣的事情應該可以工作(假設您未指定PDO):

$preparedStmt = $pdo->prepare("INSERT INTO table1 (name_id,value)
    SELECT id, :value FROM table2 WHERE name=:name");
$preparedStmt->execute(array('name'=>$name,'value'=>$value));
insert into table1 (name_id, other)
select id, 'just some static data or data from a variable'
from table2
where name = '$name'

我插入變量以提高可讀性。 但是我建議改為使用預備語句

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM