2016-08-12 29 views
-3

代码错了,它给了我一个mysql_assoc上的错误;我在代码Web服务的地方错了php

if($_SERVER['REQUEST_METHOD'] == "POST"){ 
$sql=mysql_query("SELECT * FROM users"); 

$query = mysql_query($sql); 
$json = array(); // create empty array 
$i = 0; // start a counter 
while($result=mysql_fetch_assoc($query)){ 
    $json[$i]['name'] = $result['name']; 
    $json[$i]['email'] = $result['email']; 
    $i++; 
} 
if(count($json)>0){ 
}else{ 
$json = array("msg" => "No infomations Found"); 
} 
header('Content-type: application/json'); 


} 

运行服务后出现此错误;

<br /> 
<b>Warning</b>: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in <b>C:\xampp\htdocs\satyam\services\select.php</b> on line <b>11</b><br /> 
+1

所有'mysql_ *'函数都可能失败。你应该检查错误。你也不应该使用'mysql'扩展名。这是非常古老的,不再支持。看看[MySQLi](http://php.net/mysqli)或[PDO](http://php.net/pdo)...更多,你为什么要调用'mysql_query'两次?这个不成立。 –

回答

0

请在搜索问题前搜索您发现的错误。我们在网站天收到此问题。

无论如何,你会因为你的查询失败而出现错误,所以mysql_fetch_assoc没有任何提取。做:

$query = mysql_query($sql); 
if(!$query) die (mysql_error()); 

它会告诉你与您的查询问题。只有在该行之下,您才能假定查询成功并继续获取结果。

+2

不要打扰回答这样一个明显的重复。只需将其标记为重复。 – Barmar

相关问题