mysql_query liefert keinen Rückgabewert!

Irresponder

Erfahrenes Mitglied
Ok, ich habe folgendes Problem: Ich möchte einen Insert machen - dabei soll vorher überprüft werden ob in der Tabelle der Name der verwendet wird, schon in der Datenbank steht. Dazu ist mir folgendes eingefallen:

Code:
$SQL2 = "SELECT SITENAME FROM CONTENTSITES WHERE SITENAME = '%s'";
$result = mysql_query(sprintf($SQL2,$sitename)) or die("Ungültige SQL-Query!");

if (!$result) { ... }

Mein Problem ist nun das die Funktion mysql_query True oder False zurückliefern sollte, tut sie aber nicht. Um den Problem auf die Spur zukommen habe ich das $result mal ausgegeben und musste feststellen das die Variable 'Resource id #2' enthält.

Ich habe keine Fehler gefunden - vielleicht kann mir jemand helfen?

Danke

1RR35P0ND3R
 
-

Überprüf lieber mit mysql_num_rows() wieviele Ergebnise zurückgeliefert worden sind. Wenn mysql_num_rows größer 0 ist, gibt es den Namen schon.
 
du liest mit deiner variante die SITENAME aus der tabelle aus und speicherst sie in $result, in $result sind also alle erfolgreichen treffer enthalten die du rausgesucht hast.

wenn du den value von SITENAME ermitteln möchtest musst du das mit $SITENAME = mysql_result($result,$zeile,"SITENAME");
machen.

oder versuchs doch einfach so:

if($result = mysql_query(sprintf($SQL2,$sitename)){
echo "lalala";
}
else {
die("Ungültige SQL-Query!");
}
 
Danke Camius muss ich mal ausprobieren (wieso bin ich eigentlich nicht drauf gekommen?), wenn es funktioniert schon mal Danke =) (klingt auf jeden Fall nach einer Alternative)

Methodus - ich glaub Du hast das was falsch verstanden - den Sitename brauche ich ja nicht - den schreib ich mit nem Insert neu, ich wollte nur wissen ob meine Query trifft (Rückgabewert von mysql_query ist übrigens True/False kein Array (wohl ein mysql_fetch_array/row hinzugedichtet =))). Aber trotzdem Danke =)

MfG

Nachtrag: Also Zeilenzählen funktioniert! Danke Camius & Methodus für eure Hilfe!
 
Zuletzt bearbeitet:
Zurück