2014-11-25 85 views
-1

我已試圖檢查sql數據庫中存在的行,但它總是返回此錯誤。我試圖研究他們提供了一些解決方案,但不工作。請幫忙!!Mysql_num_row()期望參數1是資源

$usersexist = mysqli_query($con, "SELECT phone FROM usersacc WHERE phone = '$pho'"); 

     $count= mysql_num_rows($usersexist) or die(mysql_error()); 
     if($count > 0) 
     { 
     $result_data = array( 
      'ResultArray' => 'Exist', 
      ); 
     } 
     else 
     { 
     mysqli_query($con,"INSERT INTO usersacc 
(phone, password) VALUES('$pho', '$pass')"); 


     #Build the result array (Assign keys to the values) 
     $result_data = array( 
      'ResultArray' => 'success', 
      ); 
     } 
     #Output the JSON data 
     echo json_encode($result_data); 

回答

4

你是mixin mysqi和mysql。試試這個 -

$usersexist = mysqli_query($con, "SELECT phone FROM usersacc WHERE phone = '$pho'") or die(mysqli_error()); 

$count= mysqli_num_rows($usersexist); 

if($count > 0) { 
//rest of your code 
+0

我想你的意思mysqli_error()有 – 2014-11-25 07:33:50

+0

yup..missed那一個。謝謝。 :) – 2014-11-25 07:35:12

+0

很多,我得到那 – 2014-11-25 07:37:06

1

Mysql不是mysqli。您應該在這裏使用$ userexist-> num_rows(object context)或mysqli_num_rows($ userexist)過程上下文。你也應該檢查$ userexist是否只返回false(失敗的查詢)。所以像這樣:

$usersexist = mysqli_query($con, "SELECT phone FROM usersacc WHERE phone = '$pho'"); 

if(!$userexist) 
    die("query failed"); 


$count = mysqli_num_rows($userexist); 
if($count > 0) 
{ 
$result_data = array( 
    'ResultArray' => 'Exist', 
    ); 
} 
else 
{ 
mysqli_query($con,"INSERT INTO usersacc 
(phone, password) VALUES('$pho', '$pass')"); 


#Build the result array (Assign keys to the values) 
$result_data = array( 
    'ResultArray' => 'success', 
    ); 
} 
#Output the JSON data 
echo json_encode($result_data); 
0

如果您使用mysqli,則無法使用mysql。

mysql_num_rows($usersexist) 

正確

mysqli_num_rows($usersexist) 
相關問題