2010-12-12 18 views
1

私はこのステートメントを動作させようとしています... $ batchidが存在するかどうかを確認しています。mysql_num_rowsが0より大きい場合

if (mysql_num_rows(mysql_query("select batch_id from load_test 
        where batch_id='".$batchid."'")) > 0) { 
    die("Error batch already present"); 
} 
+1

あなたが閉じられませんでした。)> 0) –

+1

@Vlad .P - 修正されました。 :) – AgentConundrum

答えて

0

単に書く:

$res=mysql_query("select count(*) from load_test where batch_id='".$batchid."'"); 
if($res>0) 
{ 
      die("Error batch already present"); 
} 
+0

$ bitchidをbatch_idと比較して大文字小文字を区別しない方法がありますか? – acctman

+3

あなたは比較のために "like"節を使用することができます。 –

+0

hmm私はちょうどクエリを実行し、テーブルが空のときにdie()メッセージが表示されます。私の次のINSERTへのコードは処理されません。何もないのでカウントは0になるはずです – acctman

3

まず、$のbatchidはmysql_real_escape_stringのでエスケープされていることを確認してください。

このコードは動作するはずです(非大文字と小文字を区別):

if (mysql_result(mysql_query("SELECT COUNT(*) FROM load_test WHERE batch_id='".$batchid."'"), 0) > 0) { 
    die("Error batch already present"); 
} 

大文字と小文字を区別したバージョン(source):

if (mysql_result(mysql_query("SELECT COUNT(*) FROM load_test WHERE batch_id LIKE BINARY '".$batchid."'"), 0) > 0) { 
    die("Error batch already present"); 
} 
+0

結果が== 0の場合はどうすれば修正できますか?これは以下の例ですが、動作しません。もし(mysql_result(するmysql_query( "load_test SELECT COUNT(*)FROM WHERE \t \t \t \t \t \t \t \t \t \t batch_id = '"。$ batchid。 " 'AND単語='"。$データ[2]。 "'" )、0){0} { \t \t mysql_query($ importword);} – acctman

+0

私が正しく理解していれば、mysql_resultは負の値を返すべきではないので、最後の演算子を Sagi

関連する問題