我今天开始使用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