我正在为动态网页编写PHP代码。下面的SQL查询代码看起来是正确的,但每当页面运行时,我都会在die参数中获取消息。
$recipeid = $_GET['id'];
$query = "select title from recipes where recipeid = $recipeid";
$result = mysql_query($query) or die('Could not retrieve file');
为什么查询会一直失败?
答案 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
是否有值。