0

PHP を使用して DB から行を取得しようとしています。ユーザーから本のタイトルを取得し、この本について DB からレビューを取得することになっている 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 に答える