php - MySQL查询不适用于PHP变量

标签 php mysql

当我像这样对查询进行硬编码时,查询将返回正确的结果:

$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/

相关文章:

Oracle 的 MySQL 等效 session 变量

sql - 在 JOIN 之后选择 DISTINCT 值

php - 如何在订单接收页面和电子邮件订单中显示带有产品标题的 SKU

php - mysqli_result 类实际获取的数据存在于何处?

php - if 语句基于与数据库中的一行匹配的两个变量

php - 从mysql数组获取id

php - php崩溃后mysql表被锁定

php - 当它的值类似于 1 :00 PM? 时,如何在 Mysql 数据库 sql 中获取大于或等于的值

PHP 类树,其中父类包含子类的实例

php - 从数据库时间戳中提取详细信息