prüfen ob eintrag vorhanden (SELECT)
bigo
- php
0 Nils0 Tobias Kloth
hallo,
folgendes prob. :
ich möchte prüfen ob ein eintrag bereits vorhanden ist (wenn nicht, dann nicht neu eintragen...)
ok, hab das jetzt so :
$sql = "SELECT interpreter FROM $table_interpreter WHERE interpreter = $_POST['interpreter']";
$search_result = mysql_query($sql) or die ("error".mysql_error());
als fehlermeldung bekomme ich:
<--
errorYou have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
--->
schreibe ich das so:
$_POST[interpreter] //<----ohne hochkommas
bekomme ich
errorUnknown column 'test' in 'where clause'
die MySQL Version ist die : MySQL 4.0.15
uhm ..? sonntag morgen ?? , zu früh ?? zu spät ins bett ??
oder wie,...didn't get it ....
danke fürn tip
bigo
hallo,
folgendes prob. :
ich möchte prüfen ob ein eintrag bereits vorhanden ist (wenn nicht, dann nicht neu eintragen...)
ok, hab das jetzt so :
$sql = "SELECT interpreter FROM $table_interpreter WHERE interpreter = $_POST['interpreter']";
$search_result = mysql_query($sql) or die ("error".mysql_error());
Hi,
wie wärs mit
$search_result = mysql_query($sql,$verbindung) or die("error".mysql_error()); ??
Cu
Nils
Hallo Nils,
$search_result = mysql_query($sql,$verbindung) or die("error".mysql_error()); ??
das wird höchstwahrscheinlich keinen Unterschied machen, da die Verbindungskennung laut http://www.php.net/mysql_query optional ist.
Grüße aus Nürnberg
Tobias
Hallo Nils,
Hi Tobias!!
$search_result = mysql_query($sql,$verbindung) or die("error".mysql_error()); ??
das wird höchstwahrscheinlich keinen Unterschied machen, da die Verbindungskennung laut http://www.php.net/mysql_query optional ist.
Hmm, da könnteste Recht haben :-) Aber ich machs immer mit Verbindungskennung und bei mir funzt es *g* und nen anderen Fehler hab ich da net gesehen *g* Es gab ja nen Syntaxerror. Naja, wieder was gelernt..
Grüße aus Nürnberg
Tobias
Cu
Nils
hallo,
danke für eure antworten!
hab irgendwo gelesen das '$_POST[something]' in hochkommas muß, wenn tabelle "TEXT" ist dann läufts...
....auch wenn man sein posting nicht selbst beantworten sollte...ja ja ok, sorry...don't flame.
gruß
bigo
hallo,
danke für eure antworten!
hab irgendwo gelesen das '$_POST[something]' in hochkommas muß, wenn tabelle "TEXT" ist dann läufts...
Hmm wenn du es so siehst ^^ dann musst du eigentlich auch das something in " packen ^^
'$_POST['something']^
Naja, wie dem auch sei ^^ hauptsache es funzt
CU
Nils
Hallo bigo,
$sql = "SELECT interpreter FROM $table_interpreter WHERE interpreter = $_POST['interpreter']";
da in $_POST['interpreter'] vermutlich ein String steht musst du diesen Wert mit ' umschließen:
$sql = "[...] WHERE interpreter = '".$_POST['interpreter']."'";
$_POST[interpreter] //<----ohne hochkommas
das ist falsch: http://www.php.net/manual/de/language.types.array.php#language.types.array.foo-bar
errorUnknown column 'test' in 'where clause'
das versteh ich jetzt aber auch nicht so ganz... was steht denn in $_POST['interpreter'] drin?
Grüße aus Nürnberg
Tobias
Hallo,
$sql = "SELECT interpreter FROM $table_interpreter WHERE interpreter = $_POST['interpreter']";
da in $_POST['interpreter'] vermutlich ein String steht musst du diesen Wert mit ' umschließen:
$sql = "[...] WHERE interpreter = '".$_POST['interpreter']."'";
Es sollte auch noch etwas einfacher gehen:
$sql = "[...] WHERE interpreter = '$_POST[interpreter' ";
$_POST[interpreter] //<----ohne hochkommas
das ist falsch: http://www.php.net/manual/de/language.types.array.php#language.types.array.foo-bar
Nein! Wenn es zwischen doppelten Anfuehrungszeichen steht, ist es legal:
http://www.php.net/manual/en/language.types.array.php#AEN3791
<ZITAT>
Note: To reiterate, inside a double-quoted string, it's valid to not surround
array indexes with quotes so "$foo[bar]" is valid.
</ZITAT>
errorUnknown column 'test' in 'where clause'
das versteh ich jetzt aber auch nicht so ganz... was steht denn in $_POST['interpreter'] drin?
Vermutlich stand eben "test" drin, und die Query wurde dann zu:
"... WHERE interpreter = test ".
Deshalb ist es oft hilfreich, wenn man sich mal die _fertige_ Query
anzeigen laesst, die zu Problemen fuehrt, also:
print($sql);
Dann sieht das geuebte Auge z.B., dass da die Anfuehrungszeichen um
den String fehlen.
Gruesse,
Thomas
Hallo Thomas,
$_POST[interpreter] //<----ohne hochkommas
das ist falsch: http://www.php.net/manual/de/language.types.array.php#language.types.array.foo-bar
Nein! Wenn es zwischen doppelten Anfuehrungszeichen steht, ist es legal:
http://www.php.net/manual/en/language.types.array.php#AEN3791
ok, du hast recht - wieder was gelernt :-)
errorUnknown column 'test' in 'where clause'
das versteh ich jetzt aber auch nicht so ganz... was steht denn in $_POST['interpreter'] drin?
Vermutlich stand eben "test" drin, und die Query wurde dann zu:
"... WHERE interpreter = test ".
ja, ich versteh nur nicht, warum die Fehlermeldung bei $_POST[interpreter] kommt, bei $_POST['interpreter'] aber nicht...
Grüße aus Nürnberg
Tobias