0

我正在尝试使用 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 

我已经搜索并尝试了不同的代码,但结果仍然相同。谁能告诉我错误在哪里???...谢谢

4

3 回答 3

3
$qq = mysql_query($q,$con);
if(!$qq) {
// (...)

$row = mysql_fetch_row($qq);
于 2012-05-13T16:33:37.383 回答
0

我不会提供很多帮助,但是您的问题似乎是错误发生的位置,我可以告诉您。

它在$row = mysql_fetch_row($q);队列中。

你可以这样说,因为错误记录以 开头mysql_fetch_row(),而上面的行是mysql_fetch_row()代码中唯一提到的。

于 2012-05-13T16:35:18.210 回答
0

通过打印 $q 变量的输出来检查 SQL 查询:

回声 $q;

现在,尝试从您的 MySQL 客户端执行它。收集结果(如果有)并检查错误。

一个建议:如果你愿意,你可以使用像ezSQL这样非常有用的工具(特别是对于代码组织)

于 2012-05-13T17:16:01.997 回答