2012-09-26 110 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; 
} 

您可以使用此