Syntax error? - Finde den Fehler nicht :/

  • geschlossen
  • MySQL

  • maxinet
  • 1656 Aufrufe 16 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Syntax error bei Abfrage? - Finde den Fehler nicht :/

    Halli Hallo,
    kurze Frage:
    Was ist daran falsch:

    PHP-Quellcode

    1. <?php
    2. //MySQL Connect
    3. @mysql_connect("localhost","[USER]","[PW]");
    4. @mysql_select_db("[DB]");
    5. $dec_security="637863";
    6. $query=mysql_query("SELECT * FROM `imagecodes` WHERE key='".$dec_security."'") or die(mysql_error());
    7. $line=mysql_fetch_object($query) or die(mysql_error());
    8. ?>


    mysql_error(); sagt dazu folgendes:

    Quellcode

    1. 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
  • hm, geht leider auch nicht:

    Quellcode

    1. 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-Quellcode

    1. <?php
    2. $quelle = ""; // Datenquelle
    3. $user = ""; // Datenbank Username
    4. $pw = ""; // Passwort zu User
    5. $db = ""; // Datenbankname
    6. $conn = @mysql_connect($quelle, $user, $pw);
    7. if (!$conn) {
    8. die ("Keine Verbindung zur Datenbank"); // Fehlermeldung
    9. }
    10. mysql_select_db($db,$conn)or die('select db failed: '. mysql_error());
    11. $query = "SELECT * FROM imagecodes WHERE key='$dec_security'";
    12. $line=mysql_fetch_object($query,$conn) or die(mysql_error());
    13. ?>
    Alles anzeigen

    oder als lösung für einen Array:

    PHP-Quellcode

    1. $value = mysql_fetch_array($query,MYSQL_ASSOC);
    2. // Zugriff auf die Werte:
    3. echo "Key = $value[key]"; // Spaltenname
    4. //oder..
    5. echo "Key = $value[0]"; // Index
    6. echo "Key = $value[1]"; // Index
    7. //...



    gruss, woodoo
    mein PC . . meine Blackliste . . Download mit FlashFXP
    [SIZE="2"]im moment NICHT aktiv, PN's werden warscheinlich nicht gelesen^^[/SIZE]

  • 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 ;)
    [size=1][FONT="Courier New"]###############_###_####_
    #_ __ #___ _ _| |_(_)__(_)__ _ _ _###############new uploads: [1] [2] [3] [4] [5] [6] [7] [8]
    |#'##\/ _ \ '_|##_| / _| / _` | ' \
    |_|_|_\___/_|##\__|_\__|_\__,_|_||_|###############Bis 28. Sept. weg[/FONT][/size]
  • hm.. Ok, ich habs jetz so gemacht:

    PHP-Quellcode

    1. Zeile 114: $query = "SELECT * FROM imagecodes WHERE key='$dec_security'";
    2. Zeile 115: $line=mysql_fetch_object($query) or die(mysql_error());


    und wieder folgender Fehler:

    Quellcode

    1. 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
  • Hey

    mein das schn richtig :P

    Quellcode

    1. $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ß
    [size=1][FONT="Courier New"]###############_###_####_
    #_ __ #___ _ _| |_(_)__(_)__ _ _ _###############new uploads: [1] [2] [3] [4] [5] [6] [7] [8]
    |#'##\/ _ \ '_|##_| / _| / _` | ' \
    |_|_|_\___/_|##\__|_\__|_\__,_|_||_|###############Bis 28. Sept. weg[/FONT][/size]
  • 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:

    Quellcode

    1. 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
  • 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:

    Quellcode

    1. 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
    2. Key =


    PHP-Quellcode

    1. 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:

    Quellcode

    1. $query = mysql_query("SELECT * FROM imagecodes WHERE key='$dec_security'");


    damit koennt ihr dann auch mysql_fetch_object benutztn:

    Quellcode

    1. $query = mysql_query("SELECT * FROM imagecodes WHERE key='$dec_security'");
    2. $line=mysql_fetch_object($query,$conn) or die(mysql_error());


    ´gruß
    [size=1][FONT="Courier New"]###############_###_####_
    #_ __ #___ _ _| |_(_)__(_)__ _ _ _###############new uploads: [1] [2] [3] [4] [5] [6] [7] [8]
    |#'##\/ _ \ '_|##_| / _| / _` | ' \
    |_|_|_\___/_|##\__|_\__|_\__,_|_||_|###############Bis 28. Sept. weg[/FONT][/size]
  • 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-Quellcode

    1. $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