当我写死我这样的查询,查询返回正确的结果:MySQL查询不与PHP变量工作
$data = mysql_query("SELECT * FROM $table_name WHERE post_ID = '1'") or
die(mysql_error());
但是当我使用这样的PHP变量,查询不返回任何结果:
$data = mysql_query("SELECT * FROM $table_name WHERE post_ID = '$ID'") or
die(mysql_error());
我已经初始化的变量上面如下:
$ID = $_POST[ID];
和可变屡试不爽有这样的说法:
$sql = "INSERT INTO $table_name (post_ID, user_name, comments)
VALUES ('$ID','$name', '$comment')";
所以我不明白为什么变量将正确地插入到我与以前的声明SQL表,但不与查询工作。我在sql_table中为post_ID字段使用了一个varchar数据类型。
[**请不要在新代码**中使用'mysql_ *'函数](http://bit.ly/phpmsql)。他们不再被维护[并且被正式弃用](http://j.mp/XqV7Lp)。看到[**红框**](http://j.mp/Te9zIL)?学习[*准备的语句*](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。如果你选择PDO,[这里是一个很好的教程](http://j.mp/PoWehJ)。 – 2013-03-06 05:46:55
它应该是'$ ID = $ _POST ['ID'];'不.. ..? – MatRt 2013-03-06 05:47:22
$ _POST [ID];仍然认为它是一个字符串,提供的ID没有被定义为一个常量。 (请注意它会引发警告级别的错误)所以不一定,但你可能是正确的。 – Mechzeit 2013-03-06 05:49:05