0

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

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

3 回答 3

3

mysql_query函数仅指示查询是否成功执行。您需要阅读返回的数据的第一行,也许mysql_fetch_row并弄清楚它是否给了您真假。

另请理解 mysql_* 函数现在已弃用,您应该继续使用更新的 PDO 或 mysqli_* 函数

于 2012-09-26T16:42:24.307 回答
0

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

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

于 2012-09-26T16:43:01.910 回答
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;
}

你可以使用这个

于 2012-09-26T16:47:04.293 回答