WHERE funzt nicht
ronny
- php
hi,
habe folgende abfrage gebastelt:
$resultID = mysql_query("SELECT COUNT(id) FROM ".$table." WHERE zahl = '".$zahl."'");
wenn ich sie aber ohne WHERE mache
$resultID = @mysql_query("SELECT COUNT(id) FROM ".$table);
funktioniert sie und ich bekomme das was ich will, eben noch ohne einschränkung.
die spalte zahl gibt es , die variable ist auch gefüllt.
was mache ich falsch?
danke
ronny
Hallo ronny!
habe folgende abfrage gebastelt:
$resultID = mysql_query("SELECT COUNT(id) FROM ".$table." WHERE zahl = '".$zahl."'");
was mache ich falsch?
Was sagt MySQL denn dazu? (Die MySQL-Fehlermeldungen sind mitunter ganz nützlich)
Laß Dir auch mal nur Deinen SQL-Befehl ausgeben.
Dann kannst ja prüfen, ob die Abfrage _wirklich_ richtig ist, oder ob vielleicht doch noch irgendwo ein Fehler drin ist.
Hat $zahl auch einen Wert, de es auch in der Tabelle gibt?
MfG
Götz
hi,
Was sagt MySQL denn dazu? (Die MySQL-Fehlermeldungen sind mitunter ganz nützlich)
gar nichts.
Laß Dir auch mal nur Deinen SQL-Befehl ausgeben.
Dann kannst ja prüfen, ob die Abfrage _wirklich_ richtig ist, oder ob vielleicht doch noch irgendwo ein Fehler drin ist.
passiert nichts.
Hat $zahl auch einen Wert, de es auch in der Tabelle gibt?
ups, nee, aber das soll sie auch nciht. muss so aussehen
$resultID = mysql_query("SELECT COUNT(id) FROM ".$table." WHERE zahl = '".$zahl."%'");
aber da tut sich auch nix....
hi,
Hallo
$resultID = mysql_query("SELECT COUNT(id) FROM ".$table." WHERE zahl = '".$zahl."%'");
aber da tut sich auch nix....
dies geht ohnehin nicht. Wenn dann "...where like '".$zahl."%'");
Was heisst es gibt keine fehlermeldung oder nichts aus?
hast du ein empty set?
Was hat diese spalte für einen datentyp?
gruss
Marc
hi,
Was hat diese spalte für einen datentyp?
varchar
danke
ronny
hi,
Laß Dir auch mal nur Deinen SQL-Befehl ausgeben.
Dann kannst ja prüfen, ob die Abfrage _wirklich_ richtig ist, oder ob vielleicht doch noch irgendwo ein Fehler drin ist.passiert nichts.
du sollst dir die query zuerst in einer string-variable erzeugen, und diese dann per echo ausgeben lassen - sag nicht, dann "passiert nichts"!
und bitte gwöhne dir an, _von anfang an_ mit mysql_error() zu arbeiten. es ist lästig, immer wieder erst rückfragen zu müssen, ob es verwendet wurde, und wenn ja, was es ausgegeben hat.
also verwende bitte _immer_ beim testen mysql_error(), und schreibe dann entweder die fehlermeldung in deine frage mit rein, oder eben dass es keine gegeben hat.
gruss,
wahsaga
hi,
und bitte gwöhne dir an, _von anfang an_ mit mysql_error() zu arbeiten. es ist lästig, immer wieder erst rückfragen zu müssen, ob es verwendet wurde, und wenn ja, was es ausgegeben hat.
also verwende bitte _immer_ beim testen mysql_error(), und schreibe dann entweder die fehlermeldung in deine frage mit rein, oder eben dass es keine gegeben hat.
mysql_select_db($db_database)
or die("Abbruch: Datenbank '$db_database' konnte nicht"
." selektiert werden.<br><br>MySQL sagt: ".mysql_error());
usw.
if ($total === FALSE) {
echo "folgende Abfrage ist gescheitert:<br>";
echo $SQLString."<br>";
echo "Die MySQL-Fehlermeldung lautet: ".mysql_error();
exit; // Ausführung des Scriptes beenden
}
ist doch alles da, habe ich mal vor wochen hier aus dem forum bekommen, trotzdem kommt nix....
danke
ronny
hi,
echo $SQLString."<br>";
und eben diese ausgabe wollten wir von dir mal gepostet kriegen!
gruss,
wahsaga
hi,
habe folgende abfrage gebastelt:
$resultID = mysql_query("SELECT COUNT(id) FROM ".$table." WHERE zahl = '".$zahl."'");
Quotingprobleme würde ich mal sagen.
Grüße
Stefan
hi,
Quotingprobleme würde ich mal sagen.
was sagt mir das? bin leider noch kein php/mysql Guru ;)
hast nen ansatz?
ronny
Hello,
$resultID = mysql_query("SELECT COUNT(id) FROM ".$table." WHERE zahl = '".$zahl."'");
MySQL sieht das:
SELECT COUNT(id) FROM TABELLEWHERE zahl = '1234567'
Grüße
Tom
Sorry,
war mir eben ganz sicher, dass da ein Leerzeichen fehlt und nun ist es plötzlich doch da.
Grüße
Tom
hi ronny,
bin mir nicht sicher, ob du die lösung schon rausgefunden hast. wenn nicht, versuch doch mal die '' umklammerung bei zahlen wegzulassen:
$resultID = mysql_query("SELECT COUNT(id) FROM ".$table." WHERE zahl = ".$zahl.")";
Ilja