0

ワードプレスでこのクエリに基づいて行数を取得しようとしています:

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 をハードコーディングすると、行数が得られるようです。しかし、文字列に変数を入力している場合、機能しません。

何か案は?

4

1 に答える 1

8

これは、テーブルに現在両方の基準を満たすレコードが含まれていないことを意味するだけです。

コードに関する注意:

連結は必要ありません。クエリを次のように置き換えることができます。

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

mysql_*関数は非推奨です。将来のバージョンのPHPで削除されるため、関数の使用は避けてください。選択肢は次のとおりです。

于 2012-09-04T17:43:18.537 に答える