2012-09-26 56 views
0

我想检查是否存在或不存在行,使用EXISTS语法。 connect()函数正在工作(至少在所有其他函数中),但此函数始终返回false。试图通过phpMyAdmin时,查询给我真或假。所以对我的问题;如何阅读与PHP的答案?我不想使用正常的SELECT语句,因为我读过一些基准测试,女巫说这种方法更快。mysql_query总是返回false与SELECT EXISTS

function isOnline($userid){ 
    $conn = connect(); 
    $query = "SELECT EXISTS (SELECT 1 FROM `usersonline` WHERE userid=$userid);"; 
    return mysql_query($query, $conn) ? false : true; 
} 

回答

3

mysql_query函数仅指示查询是否成功执行。你需要读取返回的第一行数据,也许用mysql_fetch_row,并找出它是否给你真假。

也请理解mysql_ *功能现在已经过时,你应该移动到新的PDO或mysqli_ *功能

0

你的函数总是返回false因为你的查询总是成功的。

您需要从查询的结果集中获取结果并对其进行测试。

0
function isOnline($userid){ 
    $conn = connect(); 
    $query = mysql_query("SELECT `id` FROM `usersonline` WHERE userid=$userid"); 
    $row = mysql_num_rows($query) 
    return if(row>=1) ? true : false; 
} 

您可以使用此