Php 在语句中使用字符串构建MySQL查询
我使用字符串构建了一个“INSERT-INTO”MySQL查询,但该查询只更新列“date”,并将列“id”的值返回给我“0”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变量包
$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')");