2010-12-12 17 views
1

Ich versuche, diese Anweisung zu funktionieren ... Ich überprüfe, ob $ batchid vorhanden ist, und wenn dies der Fall ist, dann stoppe die Verarbeitung des Skripts.Wenn mysql_num_rows größer als 0 ist

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

Sie geschlossen nicht:)> 0) –

+1

@Vlad .P - Korrigiert. :) – AgentConundrum

Antwort

0

Schreiben Sie einfach:

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

gibt es eine Möglichkeit, $ bitchid im Vergleich zu Batch-ID und nicht Groß-und Kleinschreibung zu machen? – acctman

+3

können Sie "wie" -Klausel für den Vergleich verwenden. –

+0

hmm ich habe gerade die Abfrage ausgeführt, und ich bekomme die sterben() Nachricht, wenn die Tabelle leer ist. also mein folgender Code zu INSERT wird nicht verarbeitet. die Zählung sollte 0 sein, da nichts da ist hmm – acctman

3

Erstens, stellen Sie sicher, dass $ BatchID mit mysql_real_escape_string entgangen ist.

Dieser Code sollte (nicht case-sensitive) arbeiten:

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

Die case-sensitive Version (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

wie kann ich es ändern, wenn Ergebnis == 0 dann tu das ... hier ist mein Beispiel unten, aber es funktioniert nicht. if (mysql_result (mysql_query ("SELECT COUNT (*) FROM LOAD_TEST WHERE \t \t \t \t \t \t \t \t \t \t batch_id = '". $ BatchID. " 'AND Wort ='". $ data [2]. "'"), 0) <0) { \t \t \t \t mysql_query ($ importword);} – acctman

+0

Wenn ich richtig verstehe, müssen Sie aus dem letzten Operator ändern Sagi

Verwandte Themen