簡體   English   中英

mysql_num_rows()使用AND時返回0

[英]mysql_num_rows() return 0 when using AND

我正在嘗試基於此查詢在wordpress中檢索行數:

protected function wp_has_facility($fid)
{
    //global $wpdb;

    $fid = intval($fid);

    $sql = "SELECT post_id FROM wprf_postmeta WHERE meta_value = '".$fid."' AND meta_key = 'facility_id'";
    $result = mysql_query($sql) or die(mysql_error());

    $num_rows = mysql_num_rows($result);

    echo $num_rows;

    return $num_rows;
}

運行該函數時,$ num_rows返回0。

如果我回顯查詢字符串並在phpmyadmin中運行它,它將選擇成功為我提供許多行。

經過進一步的調查,當我對meta_value進行硬編碼時,它將給我一個行計數。 但是,如果我用變量填充字符串,那是行不通的。

有任何想法嗎?

這僅意味着您的表當前不包含同時滿足這兩個條件的記錄。

關於您的代碼的注釋:

串聯不是必需的,您可以將查詢替換為:

$sql = "SELECT post_id FROM wprf_postmeta WHERE meta_value = '$fid' AND meta_key = 'facility_id'";

mysql_*函數已被棄用,應避免使用它們,因為它們將在以后的PHP版本中刪除。 這是替代方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM