为什么这个MySQL查询在PHP代码中不起作用?

时间:2011-06-03 21:45:21

标签: php mysql

我正在为动态网页编写PHP代码。下面的SQL查询代码看起来是正确的,但每当页面运行时,我都会在die参数中获取消息。

$recipeid = $_GET['id'];
$query = "select title from recipes where recipeid = $recipeid";
$result = mysql_query($query) or die('Could not retrieve file');

为什么查询会一直失败?

3 个答案:

答案 0 :(得分:2)

除了SQL注入(查看mysql_real_escape_string)之外,请将此添加到您的错误语句中以查看确切的错误:

 $result = mysql_query($query) or die('Could not retrieve file: ' . mysql_error());

它会告诉你什么是错的。

答案 1 :(得分:1)

可能是一些不同的东西,因为我们只看到一小段代码,它只是猜测。发布代码或有关您所知错误的更多详细信息将会有所帮助。

首先尝试在$ recipeid附近放置单引号。 像这样:

$query = "select title from recipes where recipeid = '$recipeid'";

如果不起作用,请花时间进行更多调试。

答案 2 :(得分:1)

如果在没有在url(例如?id=22)中传递id参数的情况下调用页面,则会出现语法错误。

在执行查询之前,请尝试检查$recipeid是否有值。