0

那么这是我的查询,它工作正常,字段friend_id是MySQL big-int类型

“从 users_friends uf WHERE uf.user_id=1192134553 限制 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 时,它可以工作。为什么它不适用于大整数?

4

1 回答 1

0

尝试将注解放在服务方法之前,如下所示:

/**
@param int $user_id
@return int
*/

此外,您的代码正在返回 mysql_query 的结果。在返回结果之前不应该处理结果吗?

$values = array()
while ($row = mysql_fetch_assoc($result)) {
    $values[] = $row['friend_id'];
}

然后,返回 $values,将 @return 设置为数组而不是 int。

于 2011-06-14T07:08:44.240 回答