2012-03-28 6 views
1

edit: mein Tabellenschema unten ist schlecht normalisiert, wie vorgeschlagen, und ich habe es überarbeitet. vergissEinfacher MySQL wenn Abfragesyntax

EDIT2:

schema

+0

Was passiert, wenn Sie die Abfrage ausführen? – PresleyDias

+2

warte, warum gibt es nach Auswahl mehrere? Was ist die Spalte, die Sie versuchen zu bekommen? Haben Sie eine spezielle Spalte für jeden Benutzer? –

+0

Es sagt mir, dass "es NULL ist!". Ich habe versucht zurück zu sprechen ($ result), aber es gibt mir überhaupt nichts? – Kel196

Antwort

2

Try mysql_num_rows() in Ihrem Zustand

if (mysql_num_rows($result) == 0) { 
    echo (" It's NULL!"); 
    // if null, run a query! 
} else { 
echo (" It's not null..."); 
// if not null, echo back meessage saying not null. 
} 

EDIT verwenden Gosh, ich sehe es jetzt, versuchen mysql_num_rows()

$row = mysql_fetch_assoc($result); 

if ($row[$userid] == NULL) { 
    echo (" It's NULL!"); 
    // if null, run a query! 
} else { 
echo (" It's not null..."); 
// if not null, echo back meessage saying not null. 
} 
+0

komisch, ich habe jeden einzelnen benutzer haben individuelle spalten, so dass ich ihre frage antworten in jedem speichern können. Markieren Sie dieses Bild meiner Tabelle zu sehen, ob Sie bekommen, was ich meine ... http://s21.photobucket.com/albums/b259/acidburn942/?action=view¤t=useranswertable.png – Kel196

+1

Ihr letztes Beispiel wird wahrscheinlich funktionieren, aber Dies ist eine wirklich schlechte Idee, Benutzer in Spalten zu speichern. OP: Vielleicht möchten Sie Ihr Datenschema überdenken, weil es schlecht normalisiert und überhaupt nicht skalierbar ist. –

+0

Ich weiß, nur versuchen, das aktuelle Problem zu lösen, nicht einmal darauf hinweisen, mögliche SQL-Injection-Schwachstelle. Das Redesign dieser Datenbank wäre die beste Lösung. –

1

Versuchen Sie es mit um zu überprüfen, wie viele Zeilen werden zurückgegeben,

if (mysql_num_rows($result) == 0) 
{ 
    echo (" It's NULL!"); 
    // if null, run a query! 
} 
else 
{ 
    echo (" It's not null..."); 
    // if not null, echo back meessage saying not null. 
} 

Auch, welche Spalte versuchen Sie auszuwählen?

+0

hier ist meine Tabellenstruktur: http://s21.photobucket.com/albums/b259/acidburn942/?action=view¤t=useranswertable.png die Spalte i auszuwählen versuche Benutzer-ID ist, zu überprüfen, ob es null ist nach eine bestimmte Frage id .... – Kel196

+1

Sie verwendeten eine Spalte pro Benutzer? Dies ist schlecht normalisiert. Werfen Sie einen Blick auf diese: http://www.asciiflow.com/#5355087028660164263/2004018477 –

+0

Und dann könnten Sie tun, um eine 'SELECT COUNT (1) von userAnswers WHERE id = $ qid und Benutzer-ID = $ userid', die zurückkehren Sie die Anzahl der Zeilen für diese bestimmte Bedingung. –

Verwandte Themen