Syntax error? - Finde den Fehler nicht :/ geschlossen 

  • Ersteller Ersteller maxinet
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
M

maxinet

Halli Hallo,
kurze Frage:
Was ist daran falsch:
PHP:
 //MySQL Connect
@mysql_connect("localhost","[USER]","[PW]");
@mysql_select_db("[DB]");

$dec_security="637863";
$query=mysql_query("SELECT * FROM `imagecodes` WHERE key='".$dec_security."'") or die(mysql_error());
$line=mysql_fetch_object($query) or die(mysql_error());
?>

mysql_error(); sagt dazu folgendes:
Code:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key='637863'' at line 1

$dec_security habe ich oben definiert, da es normalerweise eine Seite davor per Zufall erstellt wird und per POST übergeben wird.

Hat jemand von euch 'ne Idee?

Gruss,
Maxi
 
probier's mal so:

PHP:
$query=mysql_query('SELECT * FROM imagecodes WHERE key='.$dec_security) or die(mysql_error());

ceeyaa.mex
 
hm, geht leider auch nicht:

Code:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key=642724' at line 1

Gruss,
Maxi

hmm..
Ich glaube es liegt wohl an meinem SQL Server. Werde morgen mal bei meinem Provider nachfragen.

Gruss,
Maxi
 
also ich versuchs auch mal:
soviel ich weiss muss man für 'mysql_fetch_object' auch ne verbindung angeben...

PHP:
$quelle = ""; // Datenquelle
$user = ""; // Datenbank Username
$pw = ""; // Passwort zu User
$db = ""; // Datenbankname

$conn = @mysql_connect($quelle, $user, $pw);
if (!$conn) {
die ("Keine Verbindung zur Datenbank"); // Fehlermeldung
} 
mysql_select_db($db,$conn)or die('select db failed: '. mysql_error());

$query = "SELECT * FROM imagecodes WHERE key='$dec_security'";
$line=mysql_fetch_object($query,$conn) or die(mysql_error());
?>
oder als lösung für einen Array:
PHP:
$value = mysql_fetch_array($query,MYSQL_ASSOC);

// Zugriff auf die Werte:
echo "Key = $value[key]"; // Spaltenname
//oder..
echo "Key = $value[0]"; // Index
echo "Key = $value[1]"; // Index
//...


gruss, woodoo
 
soviel ich weiss muss man für 'mysql_fetch_object' auch ne verbindung angeben...

wird der parameter nicht angegeben, wird die die als letzt eröffnete Verbindung als die aktuelle benutzt. also nicht der grund für den Fehler.

erstmal wichtig wär, das das Feld `key` überhaupt für ein Typ ist? Danach muss naemlich auch die Abfrage in entsprechendem Syntax sein.

´gruß`

[edit]
$query = "SELECT * FROM imagecodes WHERE key='$dec_security'";
$line=mysql_fetch_object($query,$conn) or die(mysql_error());

$query beinhaltet einen String und kein Query... somit kanns auch nicht als Result-Parameter für mysql_fetch_object benutzt werden ;)
 
hm.. Ok, ich habs jetz so gemacht:
PHP:
Zeile 114: $query = "SELECT * FROM imagecodes WHERE key='$dec_security'";
Zeile 115: $line=mysql_fetch_object($query) or die(mysql_error());

und wieder folgender Fehler:
Code:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\Inetpub\vhosts\**\httpdocs\new_gb.php on line 115

Gruss,
Maxi
 
schau mein erster Post...

PHP:
$line=mysql_fetch_object($query,$conn) or die(mysql_error());

mortician meinte zwar, das es nicht nötig ist, aber meine scripts laufen alle mit diesem Code.
(also ich benutze den Array)
 
Hey

mein das schn richtig :P
Code:
$line=mysql_fetch_object($query,$conn) or die(mysql_error());

mysql_fetch_object... paramter 1 = sql result....
nun schaut man sich den Wert der Variable $query an..

Das ist kein result... sonder nur ein String... also kein SQL Query ;)

gruß
 
Oki, habe die $conn noch hinzugefügt - selber fehler.
Kann das sein, dass der MySQL Server kaputt ist? - Normalerweise haben meine Abfragen ja immer funktioniert :mad:

Fehler:
Code:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\Inetpub\vhosts\***\httpdocs\new_gb.php on line 115

Gruss,
Maxi
 
Ich bin da gerade über etwas gestolpert...
einen Bericht, demnach ein downgrade auf eine frühere PHP-Version dagegen Hilft.
Hast du auch schon die Array-Variante Ausprobiert? gibt das dieselbe Fehlermeldung?
 
hmm. Ich glaube mit den PHP Versionen bin ich bei dem Server recht unflexibel, da PLESK 7.5 für Windows installiert ist. Müsste ich bei SWSoft nachfragen..
Bei deiner Array kommt folgender Fehler:
Code:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Inetpub\vhosts\powergb.maxinet.de\httpdocs\new_gb.php on line 117
Key =

PHP:
Zeile 117: $value = mysql_fetch_array($query,MYSQL_ASSOC);

Gruss,
Maxi

______________________________________________

Halli Hallo,
da eine Neuinstallation des Servers das Problem lösen wird, habe ich eine Neuinstallation beantragt.
Vielen Dank an all die, die mir geholfen haben!!

Gruss,
maxi
 
grr ich glaub ihr versteht mich noch nich ganz^^ ..

Zeile 114: $query = "SELECT * FROM imagecodes WHERE key='$dec_security'";

Die Variable $query benutzt ihr als query... aber das ist doch so noch kein query... es ist nur ein String...

Wenn dann muesste $query folgendermaßen deklariert werdn:
Code:
$query = mysql_query("SELECT * FROM imagecodes WHERE key='$dec_security'");

damit koennt ihr dann auch mysql_fetch_object benutztn:
Code:
$query = mysql_query("SELECT * FROM imagecodes WHERE key='$dec_security'");
$line=mysql_fetch_object($query,$conn) or die(mysql_error());

´gruß
 
und das wird noch immer nicht funzen den das feld key in der tabelle imagecodes ist sicher ein feld vom typ integer!! somit muss der querystring so lauten:
PHP:
$query = 'SELECT * FROM imagecodes WHERE key='.$dec_security

@maxinet: soll ich hier nun dicht machen!? ist dein server bereits neu installiert und funzt nun alles!?

ceeyaa.mex
 
hm... naja wens noch nich funkt probier doch ma den spaltennamen "key" anders zu benennen. denn das is von sql n reservierter variablenname...
ich denke dann funkt es...

hatte auch ma das problem, bloß mit mit dem spaltenname "name", hatte mich schlau gemacht, und so einiges dann klar geworden... ;-)

mfg mru
 
hm.. ist mir gestern auch aufgefallen, nachdem die Server neuinstallation auch nichts geholfen hatte ;)
Also es lag wirklich an dem Spaltennamen 'key'. Hätte ich nicht gedacht!
Naja, das Problem ist somit behoben.
Danke an alle, die sich gedanken gemacht haben :)

Gruss,
Maxi
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten