tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
361
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Unicate Unicate ist offline Mitglied Brokat
    Registriert seit
    Apr 2005
    Beiträge
    358
    Hallo, ich habe mal wieder ein Problem. Ich lass mir nen Query erstellen, führe diesen aus.
    mysql_error() bringt mir nen Fehler:

    Code :
    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 '; UPDATE puz_groups SET ns_lft = '3' ' at line 1

    Wenn ich mir den Query ausgeben lasse und per hand im PHPmyAdmin eingebe, funktioniert er.

    hier mal der Quellcode im PHP:

    PHP-Code:
    $sql "
    LOCK TABLES "
    .PREFIX."groups WRITE;

    UPDATE
      "
    .PREFIX."groups
    SET
      ns_lft = '"
    .($lft+2)."'
    WHERE 
      ns_lft > "
    .$rgt.";

    UPDATE 
      "
    .PREFIX."groups
    SET 
      ns_rgt      =  '"
    .($rgt+2)."'
      WHERE ns_rgt      >= "
    .$rgt.";

    INSERT INTO 
      "
    .PREFIX."groups 
      (id, name, rights, ns_lft, ns_rgt )
    VALUES 
      (
      '',
      '"
    .stripslashes(addslashes(utf8_encode($_POST["groupname"])))."',
      '"
    .$rights."',
      '"
    .$rgt.",
      '"
    .$rgt."+1
      );                        
    UNLOCK TABLES;"

     
    /* no comment */

  2. #2
    Registriert seit
    Apr 2002
    Ort
    HH
    Beiträge
    3.224
    Zitat Zitat von [mono][phpf]mysql_query[/phpf][/mono]
    Sendet eine Anfrage an MySQL
    Zitat Zitat von [mono][phpf]mysql_query[/phpf][/mono]
    Anmerkung: Die Anfrage sollte nicht mit einem Semikolon enden.
    Das läßt vermuten, dass nicht mehrere Anfragen mit einem Aufruf von mysql_query() abgesendet werden sollen.

    Gruß hpvw
     
    Warum gibt (fast) keiner im Datenbankforum an, welches DBMS er benutzt?
    Ich gehe im Zweifelsfall ohne Nachfrage von MySQL > 4.1 i.V.m. PHP aus.
    Gewöhnt euch bitte auch an, die Fehlermeldung von mysql_error() zu posten.

  3. #3
    Unicate Unicate ist offline Mitglied Brokat
    Registriert seit
    Apr 2005
    Beiträge
    358
    Ganz bleede binsch ja noch ni...

    PHP-Code:
    mysql_query($sql) or die(mysql_error()); 
    mal davon abgesehen, das er mir nen parse error bringen würde und nicht nen mysql error
     
    /* no comment */

  4. #4
    Avatar von mckani
    mckani mckani ist offline Mitglied Gold
    Registriert seit
    Sep 2005
    Ort
    Geboren und Wohne In Dinslaken (Deutschland)
    Beiträge
    229
    so vielleicht:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    
    $sql = " 
    LOCK TABLES ".PREFIX."groups WRITE; 
     
    $query = mysql_query("UPDATE 
      ".PREFIX."groups 
    SET 
      ns_lft = '".($lft+2)."' 
    WHERE 
      ns_lft > ".$rgt.""); 
     
    if (!$query) {
       die('Ungültige Abfrage: ' . mysql_error());
    }
     
    $query2 = mysql_query("UPDATE 
      ".PREFIX."groups 
    SET 
      ns_rgt      =  '".($rgt+2)."' 
      WHERE ns_rgt      >= ".$rgt.""); 
     
    if (!$query2) {
       die('Ungültige Abfrage: ' . mysql_error());
    }
     
    INSERT INTO 
      ".PREFIX."groups 
      (id, name, rights, ns_lft, ns_rgt ) 
    VALUES 
      ( 
      '', 
      '".stripslashes(addslashes(utf8_encode($_POST["groupname"])))."', 
      '".$rights."', 
      '".$rgt.", 
      '".$rgt."+1 
      );                         
    UNLOCK TABLES;";
     
    14 Tage Urlaub ->
    14 Tage Rückgaberecht ->
    14 Tage Se.... ->

    PHP-Code:
    <?php
    if ($mckanionline == "yes"){
    echo 
    ' Alam ';}
    else{
    echo 
    ' Dead ';
    }
    ?>

  5. #5
    Unicate Unicate ist offline Mitglied Brokat
    Registriert seit
    Apr 2005
    Beiträge
    358
    @mckani: versuch mal deinen Code als PHP code hier im Forum darzustellen, dann siehste was de falsch gemacht hast
    Waaaa Mutti hilfe wo bin ich hier....

    also nochema im Code steht:

    PHP-Code:
     $sql "
    LOCK TABLES "
    .PREFIX."groups WRITE;

    UPDATE
      "
    .PREFIX."groups
    SET
      ns_lft = '"
    .($lft+2)."'
    WHERE
      ns_lft > "
    .$rgt.";

    UPDATE
      "
    .PREFIX."groups
    SET
      ns_rgt      =  '"
    .($rgt+2)."'
      WHERE ns_rgt      >= "
    .$rgt.";

    INSERT INTO
      "
    .PREFIX."groups
      (id, name, rights, ns_lft, ns_rgt )
    VALUES
      (
      '',
      '"
    .stripslashes(addslashes(utf8_encode($_POST["groupname"])))."',
      '"
    .$rights."',
      '"
    .$rgt.",
      '"
    .$rgt."+1
      );                        
    UNLOCK TABLES;"

    mysql_query($sql) or die(mysql_error()); 
     
    /* no comment */

  6. #6
    Unicate Unicate ist offline Mitglied Brokat
    Registriert seit
    Apr 2005
    Beiträge
    358
    @hpvw: 100 Punkte an den Kandidaten

    Jetzt funktioniert vielen Dank.

    PHP-Code:
    unset($sql);
    $sql[] = "LOCK TABLES ".PREFIX."groups WRITE;";
    $sql[] = "
            UPDATE
                "
    .PREFIX."groups
            SET
                ns_lft = '"
    .($lft+2)."'
            WHERE 
                ns_lft > "
    .$rgt.";";
    $sql[] = "

            UPDATE "
    .PREFIX."groups
               SET ns_rgt      =  '"
    .($rgt+2)."'
             WHERE ns_rgt      >= "
    .$rgt.";";
               
    $sql[] = "
            INSERT INTO "
    .PREFIX."groups (id, name, rights, ns_lft, ns_rgt )
                      VALUES (
                            '',
                            '"
    .stripslashes(addslashes(utf8_encode($_POST["groupname"])))."',
                            '"
    .$rights."',
                            "
    .$rgt.",
                            "
    .$rgt."+1
                             );"
    ;
    $sql[] = "                
            UNLOCK TABLES;"
    ;
    foreach(
    $sql as $query)
    {
        
    mysql_query($query) or die(mysql_error());

     
    /* no comment */

Ähnliche Themen

  1. Fehler in SQL-Query
    Von Thomas D im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 18.05.08, 18:32
  2. Fehler im Query?
    Von Kalma im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 30.01.07, 15:33
  3. SQL Query Fehler
    Von endy-de im Forum PHP
    Antworten: 8
    Letzter Beitrag: 05.08.04, 12:16
  4. Fehler in query nur wo?
    Von patwidmer im Forum PHP
    Antworten: 4
    Letzter Beitrag: 16.02.04, 22:24
  5. fehler im query
    Von fluid im Forum PHP
    Antworten: 5
    Letzter Beitrag: 11.06.02, 15:11