Php 在语句中使用字符串构建MySQL查询

Php 在语句中使用字符串构建MySQL查询,php,mysql,string,Php,Mysql,String,我使用字符串构建了一个“INSERT-INTO”MySQL查询,但该查询只更新列“date”,并将列“id”的值返回给我“0” $c=“2013-11-29 12:00:00”//全部代码 $d=“2013-11-30 12:00:00”; $date_3=日期(“Y-m-d g:i:s”,标准时间($c”); $date_4=日期(“Y-m-d g:i:s”,标准时间($d”); $results=数组($date\u 1); $i=$date_3; $allCane=“”; 虽然($i变量包

我使用字符串构建了一个“INSERT-INTO”MySQL查询,但该查询只更新列“date”,并将列“id”的值返回给我“0”

$c=“2013-11-29 12:00:00”//全部代码
$d=“2013-11-30 12:00:00”;
$date_3=日期(“Y-m-d g:i:s”,标准时间($c”);
$date_4=日期(“Y-m-d g:i:s”,标准时间($d”);
$results=数组($date\u 1);
$i=$date_3;
$allCane=“”;

虽然($i
变量
包含在
单引号中(“”)不会被解析,因此,在字符串中包含变量名称时,始终使用
双引号

下面使用

$insert = mysql_query("INSERT INTO events (id, date) VALUES ('{$id}', ' 2013-11-29 12:00:00'), ('{$id}', ' 2013-11-30 12:00:00')");

请不要再使用
mysql.*
函数,它们已被弃用。有关详细信息,请参阅。相反,您应该了解并使用or。如果您无法决定使用哪个,将对您有所帮助。如果您选择PDO,。您如何创建
$string
?在这种情况下,只需将SQL写入变量,而不是直接写入mysql命令。这样您就可以输出查询并对其进行调试。调试就是一切!您的
$string
中似乎包含文本字符串
'$id'
。这不会神奇地被
$id
变量所取代。您需要在设置
$string
之前设置
$id
,然后向其中添加
$id
。或者需要使用
str\u replace
'$id'
替换为
$id
的值。
$insert = mysql_query("INSERT INTO events (id, date) VALUES ('{$id}', ' 2013-11-29 12:00:00'), ('{$id}', ' 2013-11-30 12:00:00')");