[英]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.