2012-06-08 61 views
-3

下載一個omegle克隆。這當然寫得不好,所以在關鍵文件中存在錯誤。 here's the site如果你想檢查出來。我得到的錯誤是Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a1687121/public_html/listenToReceive.php on line 11這裏是文件:omegle克隆mysql_num_rows錯誤

<?php 
$userId=$_REQUEST["userId"]; 

$msg =""; 
$randomUserId; 

include ('config.inc.php'); 
include ('database.inc.php'); 
$result=mysql_query("SELECT * FROM chats WHERE userId = $userId "); 

if (mysql_num_rows($result) > 0) 
    { 
    $result=mysql_query("SELECT * FROM msgs WHERE randomUserId = $userId ORDER BY sentdate limit 1"); 

    $id =0; 

    while ($row=mysql_fetch_array($result)) 
     { 
     $id   = $row["id"]; 
     $msg   =$row["msg"]; 
     $randomUserId=$row["userId"]; 
     } 

    if ($id != 0) 
     { 
     mysql_query ("DELETE FROM msgs WHERE id = $id "); 
     mysql_query ("INSERT INTO oldMsgs(userId,randomUserId,msg) VALUES($randomUserId,$userId,'$msg'); "); 
     } 
    } 
else 
    { 
    echo "||--rut roh!--||"; 
    } 

mysql_close ($con); 

echo $msg; 
?> 

我檢查了它一百萬次。我找不到任何錯誤。謝謝!

+2

[一如既往](http://stackoverflow.com/search?q=%5Bphp%5D+mysql_num_rows+valid+result+resource),檢查'mysql_error()''的後的mysql_query()'呼叫。如果'$ result'不是結果資源,'mysql_error()'會告訴你爲什麼。很可能,您的數據庫連接不活動。 –

+1

另請注意,您的查詢容易受到SQL注入攻擊。你還沒有使用'mysql_real_escape_string()' –

+1

-1'逃脫$ _REQUEST ['userId']'。每小時出現一次。 Google可能會告訴你這個錯誤是什麼以及如何解決這個錯誤。 – Corbin

回答

1
$result=mysql_query("SELECT * FROM chats WHERE userId = $userId "); 
// add the error check 
if (!$result) { 
    die('ERROR: ' . mysql_error()); 
}