2011-11-30 98 views
-5

Possible Duplicate:
supplied argument is not a valid MySQL result resourcemysql_fetch_array():提供的參數不是一個有效的MySQL結果資源

我試圖展現在我的網站從我的數據庫的結果,但我不斷收到一個錯誤信息或者什麼也不顯示。

在時間中的時刻的錯誤信息是:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /websites/123reg/LinuxPackage22/we/ez/y_/weezy.co.uk/public_html/search.php on line 29 

這是我剛纔的問題的更新版本,因爲我已經編輯了PHP,但它仍然不工作。我究竟做錯了什麼?

詹姆斯

<?php 
// Change the fields below as per the requirements 
$db_host=""; 
$db_username="u2"; 
$db_password=""; 
$db_name=""; 
$db_tb_name=""; 
$db_tb_atr_name[0]="name"; 
$db_tb_atr_name[1]="email"; 
$db_tb_atr_name[2]="location"; 


//Now we are going to write a script that will do search task 
// leave the below fields as it is except while loop, which will display results on screen 

mysql_connect("$db_host","$db_username","$db_password"); 
mysql_select_db("$db_name"); 

$query_for_result=mysql_real_escape_string($_GET['query']); 

$query_for_result=mysql_query(" 

SELECT $db_tb_atr_name[0], $db_tb_atr_name[1], $db_tb_atr_name[2] 

FROM $db_tb_name WHERE 

$db_tb_atr_name[0], $db_tb_atr_name[1], $db_tb_atr_name[2] LIKE '%".$query."%'"); 
echo "<h2>Search Results</h2><ol>"; 
while ($data_fetch = mysql_fetch_array($query_for_result)) 
{ 
echo '<br>'; 
echo '<br>'; 
echo '<div class="data1">'; 
echo $data_fetch["name"]; 
echo '</div>'; 
echo '<br>'; 
echo '<div class="data2">'; 
echo $data_fetch["email"]; 
echo '</div>'; 
echo '<br>'; 
echo '<div class="data3">'; 
echo $data_fetch["location"]; 
echo '</div>'; 
} 
echo "</ol>"; 

mysql_close(); 
?> 
+1

當你這樣做的數據庫查詢隨時添加'或死亡(mysql_error())'在年底,所以你會看到,如果有查詢錯誤。 – JJJ

+1

你已經給了一個答案 - http://stackoverflow.com/questions/8327003/keep-getting-the-same-mysql-error-how-do-i-overcome-this – matino

+1

啊,好舊的'「$ var 「'貨物 - 邪教編程... –

回答

0

運行mysql_ *命令可能從數據庫得到一個錯誤後,可以檢查mysql_error()結果。在這種情況下,它會告訴您mysql_query()出了什麼問題。

http://php.net/manual/en/function.mysql-error.php

由於mysql_query()將在SELECT語句返回FALSE一個錯誤,你可以做這樣的事情:

$query = "SELECT ... "; 
$result = mysql_query($query); 

if ($result === FALSE) { 
    trigger_error(mysql_error()." in ".$query); 
    exit(); 
} 

你想擁有類似的錯誤檢查爲mysql_connect()mysql_db_select()調用也可能導致錯誤。

+0

謝謝!我現在得到:解析錯誤:語法錯誤,意外$結束在/websites/123reg/LinuxPackage22/we/ez/y_/weezy.co.uk/public_html/search.php在63行,但該行只是 –

+0

你'在你的PHP中引入了一個語法錯誤。如果您使用的是體面的IDE,它將有希望爲您突出顯示它。如果你複製上面的if區塊,確保你包含了關閉的'}'。 – Trott

+0

感謝您的幫助!我只是把它放進去,但現在它什麼都沒顯示,只是一個空白頁面 –

0

您可能需要設置$db_host = "localhost"$db_name = "YOUR DATABASE NAME"

相關問題