这是我的查询,它运行良好,字段friend_id的类型为MySQL big int
"从users_friends uf WHERE uf.user_id=11192134553 limit 2中选择friend_id"
并且查询返回所需的结果,即100002407532395,100002307531370
现在是我的服务zend/amf服务
public function GetUserAllFreinds($user_id)
{
$sql = "SELECT friend_id FROM users_friends uf WHERE uf.user_id=$user_id limit 2";
$res = mysql_query($sql) or die(debug($sql).mysql_error());
return $res;
}
该服务返回我2147483647。然而,当我将friend_id设置为MySQL varchar时,它就可以工作了。为什么它不适用于大int??
尝试将注释放在服务方法之前,如下所示:
/**
@param int $user_id
@return int
*/
此外,您的代码将返回mysql_query的结果。不应该在返回结果之前对其进行处理吗?
$values = array()
while ($row = mysql_fetch_assoc($result)) {
$values[] = $row['friend_id'];
}
然后,返回$值,将@return设置为数组,而不是int。