使用mysql / php从DB中选择行

时间:2012-05-13 16:30:55

标签: php mysql

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

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

3 个答案:

答案 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之类的工具,它非常有用(特别是对于代码组织)