php/mysql: problem mit mysql query - Seite 2

Seite 2 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_mysql_problem_mit_mysql_query_125941/page_2 - zur Vollversion wechseln!


gerhardtt schrieb am 30.09.2004 um 22:01

Zitat von semteX
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 schrieb am 30.09.2004 um 22:01

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 schrieb am 30.09.2004 um 22:05

jo, sollte gehen.
oder gleich
if (mysql_query()) {}
oder if ($result=mysql_query()) {} falls du das $result brauchst, falls es existiert.


semteX schrieb am 30.09.2004 um 22:37

gut dieses problem ist mal solved.

THX

ein anders hab ich zwar noch aber das ist sowieso strange

folgendes INSERT:

Code: PHP
$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'


kleinerChemiker schrieb am 01.10.2004 um 10:31

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 schrieb am 01.10.2004 um 12:20

Zitat von semteX
gut dieses problem ist mal solved.

THX

ein anders hab ich zwar noch aber das ist sowieso strange

folgendes INSERT:

Code: PHP
$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 schrieb am 01.10.2004 um 12:27

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 :mad:




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025