我今天開始使用PHP和MySQL作爲我的一個小型項目。 我有我的分貝,我做了一個PHP代碼,以獲得user_id和得分從表中,但我得到這個錯誤,我不知道如何得到他們的騎:你可以看到最後,即時獲取我的請求響應。mysql_fetch_array()警告和mysql_num_rows()警告
警告:mysql_fetch_array()預計參數1是資源, 串中 /home/marathon/domains/marathon-il.com/public_html/Apps/million/view_all.php 給出第15行
警告:mysql_num_rows()預計參數1是資源,空 在 /home/marathon/domains/marathon-il.com/public_html/Apps/million/view_all.php 給定上線18 { 「成功」 :0,「message」:「new_user」}
這是我getinfo.php:
<?php
$response = array();
require_once __DIR__ . '/db_connect.php';
$db = new DB_CONNECT();
$user = $_POST['userid'];
$result = mysql_fetch_array("SELECT * FROM users WHERE user_id = '$user'");
// check for empty result
if (mysql_num_rows($result) > 0){
$userinfo = array();
$userinfo["user_score"] = $result["score"];
$userinfo["user_date"] = $result["date"];
$response['info']= $userinfo;
$response["success"] = 1;
echo json_encode($response);;
}
else {
$response["success"] = 0;
$response["message"] = "new_user";
echo json_encode($response);
}
?>
請幫忙解決這個問題 - 謝謝。
您沒有使用http://php.net/mysql_error來捕獲錯誤,因此難怪代碼會隨意斷開。也要注意SQL注入http://php.net/manual/en/security.database.sql-injection.php – 2013-03-07 19:26:31
你是PHP的新手,你應該學習使用mysqli或PDO,而不是使用mysql_ *函數,這些函數已被棄用。具體來說,我會建議還學習如何使用預準備語句來防止當前存在的SQL注入漏洞。 – 2013-03-07 19:29:16
[google上有二分之一百萬的投訴](https://www.google.com/search?sugexp=chrome,mod=4&sourceid=chrome&client=ubuntu&channel=cs&ie=UTF-8&q=Warning%3A+mysql_fetch_array()+預計+參數+ 1 +至+是+資源%2C +串+給出) – 2013-03-07 19:31:47