php/mysql: problem mit mysql query
semteX 30.09.2004 - 20:59 1127 21
gerhardtt
Big d00d
|
die fehlerzeile ist immer die mit dem mysql_num_result jo aber mit dem "die" würdest zumindest den fehler darauf beschränken das eine mysqlanweisung einfach nicht stimmt.
|
semteX
begehrt die rostschaufel
|
ok. und wie kann ich das in meinem problem ausnützen? also wie müsste dann das if ausschaun?
$result = mysql_query(..) if(!$result) { echo "nix gefunden"; }
|
kleinerChemiker
Here to stay
|
jo, sollte gehen. oder gleich if (mysql_query()) {} oder if ($result=mysql_query()) {} falls du das $result brauchst, falls es existiert.
|
semteX
begehrt die rostschaufel
|
gut dieses problem ist mal solved. THX ein anders hab ich zwar noch aber das ist sowieso strange folgendes INSERT: $query = "INSERT INTO produkte (prod_bezeichnung, prod_kuerzel, prod_art, prod_preis, prod_chcknumber) VALUES ('".$p_bezeichnung."','".$p_kuerzel."', '".$p_art."', '".$p_preis."', '".$_SESSION["chcknumber"]."')";
und dann mysql_query or die(mysql_error()) liefert: Unknown column 'prod_chcknumber' in 'field list'
Bearbeitet von semteX am 30.09.2004, 22:40
|
kleinerChemiker
Here to stay
|
wenn du $query = "...." schreibst, mußt du eigentlich die " nciht immer schließen, da innerhalb von " variablen ausgewertet werden.
versuch mal einen fixen wert einzufügen, statt $_SESSION["chcknumber"]
ansonsten eventuel andere syntax versucen: insert into produkte set prod_bezeichnung=$p_bezeichnung, .....
|
gue
Addicted
|
gut dieses problem ist mal solved.
THX
ein anders hab ich zwar noch aber das ist sowieso strange
folgendes INSERT:
$query = "INSERT INTO produkte (prod_bezeichnung, prod_kuerzel, prod_art, prod_preis, prod_chcknumber) VALUES ('".$p_bezeichnung."','".$p_kuerzel."', '".$p_art."', '".$p_preis."', '".$_SESSION["chcknumber"]."')";
und dann mysql_query or die(mysql_error()) liefert:
Unknown column 'prod_chcknumber' in 'field list' Die letzte Fehlermeldung ist doch nicht so schwer zu verstehen, oder? Hast du in deiner Tabelle überhaupt eine Spalte prod_chcknumber? Ich wette, nicht! Das erklärt auch den Fehler beim ersten Query Btw. ist es besser, wenn du beim ersten Query nicht "SELECT * FROM blabla WHERE ..." und dann mysql_num_rows() machst, sondern wenn du "SELECT COUNT(*) as num FROM blabla WHERE ..." machst und dann das Ergebnis direkt herausliest. In dem Fall ist es zwar egal, weil es sowieso nur maximal eine Zeile gibt aber wenn es mal um 100-200 Einträge geht (z.B. wenn du aus einer Tabelle forum_posts zählen willst, wieviele Einträge von einem bestimmten User sind), so ist die Variante mit COUNT() besser.
|
semteX
begehrt die rostschaufel
|
gut, 2 sachen a) war das ned mein fehler. ich habs für nen freund gemacht und KEINEN zugriff auf die DB. Ich denke der hat irgendwie nen schas gebaut mit dem prod_chcknumber. DARUM ist auch immer der "invalid resource" fehler gekommen. Ich hab ihm gesagt er soll das ganze ding LÖSCHEN und neu anlegen. hat er gemacht. und auf einmal war selbst bei KEINEM treffer die resource valid => mysql_num_rows hat 0 zurückgeliefert => alles hat gefunkt der fehler lag also offenbar an der DB. wie der enstehen konnte ist mir schleierhaft da ich eben selbst keinen zugriff hatte. b) i know, SELECT COUNT(prod_id) FROm... mit mysql_query(..) und danach mysql_result( ) geht viel schneller.. danke für eure hilfe, für mich hab ich beschlossn ich helf nimmer wenn ich ned vollen zugriff auf die Datenbank erhalte
|