我正在尝试使用php从数据库中获取一行,我已经制作了一个html表单,该表单应该从用户那里获取书名并从数据库获取有关本书的评论,然后将其发布到输入文本,表单的动作导致以下功能:
function GetReview($BookTitle)
{
require'DB.php';
if(empty($_POST['BookTitle']))
{
echo " You must enter a book name!";
return false;
}
$BookTitle = mysql_real_escape_string($BookTitle);
$q="Select Reviews from Users_Booklist where (Book_Title like '%" .$BookTitle."%');";
if(!mysql_query($q,$con))
{
die("Error".mysql_error());
}
else
{
$row = mysql_fetch_row($q);
?>
<html>
<head><title>Delete Review </title>
</head>
<body>
<br>
<form name="DeleteReview " action="DeleteReviewsFunction.php" method="post">
Review: <input type="text" name="Review" size="200" value="<?php echo $row[0]; ?>"/>
<input type="submit" value="Delete Review" />
</form>
</body>
</html>
<?php
}
}
GetReview($_POST['BookTitle'])
然而,它引导我进入下一个表单,输入文本中没有任何内容和此警告:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\GetReview.php on line 20
我搜索并尝试了不同的代码,但结果仍然相同。 谁能告诉我错误在哪里??? ...谢谢
答案 0 :(得分:3)
$qq = mysql_query($q,$con);
if(!$qq) {
// (...)
$row = mysql_fetch_row($qq);
答案 1 :(得分:0)
我不会得到很多帮助,但你的问题似乎是错误发生的地方,我可以告诉你。
它位于$row = mysql_fetch_row($q);
行。
您可以告诉这一点,因为错误记录以mysql_fetch_row()
开头,上面一行是代码中唯一提到的mysql_fetch_row()
。
答案 2 :(得分:0)
通过打印$ q变量的输出来检查SQL查询:
echo $ q;
现在,尝试从MySQL客户端执行它。收集结果(如果有)并检查错误。
建议:如果需要,您可以使用ezSQL之类的工具,它非常有用(特别是对于代码组织)