kostenloser Webspace werbefrei: lima-city


Fehler im MySQL Query

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    silecom

    silecom hat kostenlosen Webspace.

    Hi,

    ich weiss nicht wo da drinnen der Fehler liegt. Entweder bin ich daf?r zu m?de, oder aber auch zu bl?d.

    $get = "SELECT NICK,
    PASSWORD
    FROM USER WHERE NICK = ".$nick;

    Fehlermeldung:
    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 'LIMIT 1' at line 4

    Thx 4 Help
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. k**********e

    muh?..

    in deiner mysql-fehlermeldung steht etwas mit LIMIT 1... davon ist im beispiel(?) nix zu sehen.

    na ja, ich versuchs trotzdem:

    $sql = "SELECT nick, password 
    FROM user 
    WHERE nick= '$nick' 
    LIMIT 1";
    
    $res = mysql_query($sql) or die(mysql_error() . "<pre>$sql</pre>");
    
    //usw


    f?r die zukunft...

    ca 5 zeilen ?ber und unter der vermeidlich betroffenen 'fehler'-quelle posten. macht es einfacher zu helfen.
  4. Autor dieses Themas

    silecom

    silecom hat kostenlosen Webspace.

    sry sollte ohne dem Limit sein, hab das falsch kopiert :(
    Ist aber jedenfalls der gleiche Fehler, nur halt ohne Limit.

    Geh?rts dann so:
    $get = "SELECT NICK,
    PASSWORD
    FROM USER
    WHERE NICK = '$nick'";

    ?!

    Danke hat sich erledigt. War wieder so ein bl?der Fehler von mir...

    Beitrag ge?ndert am 22.01.2006 00:30 von silecom
  5. k**********e

    nimm die punte vor $nick und dahinter weg und wir habens^^

    und dazu gibbet von mir eine kleine "einf?hrung" in Verkettungen..

    also... einen string kannst du so:
    $string = "string";
    schreiben oder so
    $string = 'string';

    der gro?e unterschied bei ' wird der string so ?bersetz wie er ist
    der parser erwartet hier keine variablen.

    dadurch ist ' schneller als ", denn selbst wenn im " string keine variable ist, der parser sucht danach.

    kleines beispiel f?r probiers?chtige:
    function benchmark($time = FALSE)
    {
       // sorry f?r diese schlange^^
       return (($time) ? (float) array_sum(explode(' ',microtime())) - $time : (float) array_sum(explode(' ',microtime())));
    }
    
    $s = benchmark();
    for ($i = 0; $i < 1000; $i++)
         echo "nichts mit \"<br />";
    
    echo benchmark($s);
    
    $e = benchmark();
    for ($i = 0; $i < 1000; $i++)
          echo 'nichts mit \' <br />';
    
    echo benchmark($e);


    also im mysql m?ssen strings mit " oder ' gekennzeichnet sein.
    demzufolge w?ren diese varianten richtig:

    $sql = "SELECT spalte FROM tabelle WHERE spalte = '$s'";
    // der string f?ngt mit " an und h?rt mit " auf. wir "steigen"
    nirgens aus

    $sql = "SELECT spalte FROM tabelle WHERE spalte \"$s\"";
    // der string f?ngt mit " an und h?rt mit " auf. wir "steigen"
    nirgens aus. maskieren " mit einem \ damit der parser net meckert

    $sql = "SELECT spalte FROM tabelle WHERE spalte = '".$sql."'";
    //wir steigen nach' aus und verkn?pfen mit dem . um nach der
    variable wieder mit . zu verbinden und mit " einzusteigen^^

    $sql 'SELECT spalte FROM tabelle WHERE spalte = "'.$s.'"';
    // hier m?ssen wir aussteigen und verketten, da sonst nicht der
    inhalt der variable dort stehen w?rde sondern $s^^

    also ... ich hoffe das was sch?n unverst?ndlich^^

    //omg.. alles umsonst^^

    Beitrag ge?ndert am 22.01.2006 01:08 von kirschbluete
  6. Autor dieses Themas

    silecom

    silecom hat kostenlosen Webspace.

    nein, nicht umsonst, danke daf?r :)
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!