当我像这样对查询进行硬编码时,查询将返回正确的结果:
$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表中为post_ID字段使用varchar数据类型。
最佳答案
这是代码的一些问题。由于您的PHP变量在MySQL查询中不起作用。因此,您必须将变量传递给它。只需一个报价,就可以像这样传递它。和
$ data = mysql_query(“ SELECT * FROM'$ table_name'WHERE post_ID ='1'”)或
死(mysql_error());
谢谢
关于php - MySQL查询不适用于PHP变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15239863/