PHP中的SQL Where子句不起作用

时间:2013-11-24 13:12:59

标签: php mysql sql

我是php的新手,所以希望有人可以指出我哪里出错了 我编写了一个PHP代码来从MySQL数据库中获取某些记录

我正在运行查询

$result = mysql_query("SELECT * FROM Messages where Id='idLo'") 
or  die(mysql_error());

我没有结果 但是当我硬编码像

$result = mysql_query("SELECT * FROM Messages where Id='4'") 
or  die(mysql_error());

返回所有数据 我错了什么 我正在收集idLo作为get参数

$idLo = $_GET['id'];

7 个答案:

答案 0 :(得分:1)

试试这个: $result = mysql_query("SELECT * FROM Messages where Id='$idLo'");

答案 1 :(得分:1)

您在查询中忘记$前面idLo

答案 2 :(得分:1)

$result = mysql_query("SELECT * FROM Messages where Id='".$idLo."'");

应该这样做

答案 3 :(得分:1)

您的代码需要更改为

$result = mysql_query("SELECT * FROM Messages where Id='$idLo'") or  die(mysql_error());

来自

$result = mysql_query("SELECT * FROM Messages where Id='idLo'") or  die(mysql_error());

在php中有一个基本的东西,每个变量都有一个美元($)符号,我们每次使用它时都需要使用它。

答案 4 :(得分:1)

您似乎没有包含“$”来表示idlo是一个变量:

where Id='idLo'

应该是

where Id='$idLo'

此外,您可能希望了解如何使用PDO或Mysqli通过PHP访问您的mysql数据库。

答案 5 :(得分:0)

你现在应该使用mysqli pr PDO。好一点:

$result = $connection->query("SELECT * FROM Messages where Id='$id'");

另外,检查Id是否真的使用大写字母,并在变量名称中添加美元符号。

答案 6 :(得分:0)

$idLo = $_GET['id'];
$result = mysql_query("SELECT * FROM Messages where Id='$idLo'") or die(mysql_error());