-2

簡単な質問:

行がmysqlに既に存在するかどうかを確認する方法は?

mysql_num_rows() を提案する人もいると思いますが、これは私が試しましたが、うまくいきません。

PHPコードは次のとおりです。

...

$chk = mysql_query("SELECT * FROM f_table WHERE f = '$id' AND h = 'h' AND status = '1'");

if(mysql_num_rows($chk) > 0){
    $msg = 'exist';
}else{
            $msg = 'gotta';
    }

Ps: PHP のマニュアルで、'mysql_num_rows()' の代わりに他のものを使用するように提案されていることに気付きました。私の mysql のバージョンは 5.0 です。それは関連していますか?

お時間をいただきありがとうございます。

4

2 に答える 2

1

通常、すべての行をフェッチするのではなく、MySQLにカウントを実行させたいと思うでしょう。MySQLはインデックスを使用でき、すべてのデータを取得する必要はありません。これにより、はるかに効率的になる可能性があります。

$result = mysql_query('SELECT COUNT(*) as `count` FROM ...') /* or die(mysql_error()) */;
$row = mysql_fetch_assoc($result);

if ($row['count'] ...)
于 2012-12-11T15:45:00.990 に答える
1

行を使用しない場合は、SELECT COUNT(*) FROM .... それ以外の場合、この API が非推奨であっても、mysql_num_rows は機能するはずです。

于 2012-12-11T15:43:45.110 に答える