我試圖從數據庫中使用PHP獲得一行,我做了一個HTML表格,應該從用戶採取書籍標題,並從數據庫中獲取關於此的評論本書,然後將它張貼在輸入文本,格式的行動導致了以下功能:從數據庫選擇行使用mysql/php
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
我已經搜索並嘗試了不同的代碼,但仍然是相同的結果。 誰能告訴我哪裏出錯??? ...感謝
的第一個例子http://br2.php.net/manual/en/ function.mysql-fetch-row.php顯示原因 –
您正試圖從您的查詢** STRING **中獲取結果。您需要從mysql_query()調用返回的值中獲取值。 –
請停止使用古老的'mysql_ *'函數編寫新代碼。他們不再被維護,社區已經開始[棄用流程](http://goo.gl/KJveJ)。相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定,[本文](http://goo.gl/3gqF9)將有助於選擇。如果你關心學習,[這裏是一個很好的PDO相關教程](http://goo.gl/vFWnC)。 – vascowhite