2010-12-12 61 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) – 2010-12-12 06:57:10

+1

@Vlad .P - 修正。 :) – AgentConundrum 2010-12-12 07:10:02

回答

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 2010-12-12 07:06:02

+3

你可以使用「like」從句進行比較。 – 2010-12-12 07:10:33

+0

嗯,我只是跑了查詢,我得到了die()消息時,表是空的。所以我下面的代碼來INSERT不處理。計數應該是0,因爲什麼都沒有hmm – acctman 2010-12-12 07:13:34

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( 「SELECT COUNT(*)FROM load_test WHERE \t \t \t \t \t \t \t \t \t \t BATCH_ID = '」。$ batchid。 「 'AND字='」。$數據[2]。 「'」 ),0)<0){ \t \t \t \t的mysql_query($ importword);} – acctman 2010-12-12 11:54:00

+0

如果我理解正確的話,你需要最後的算從<到==改變,因爲mysql_result不應該返回負值,但零或一個正數。 – Sagi 2010-12-12 13:40:49