tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
14
ZUGRIFFE
395
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    alex130 alex130 ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    654
    Hi
    Ich hab ein Problem und zwar bekomme ich beim update immer folgende Meldung:
    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 'WHERE `Id`= 2' at line 8

    Hier mein Code:
    PHP-Code:
    <?php  

        
    include ("../configs/config.inc.php");
        
    session_start();

        
    $sql "SELECT * FROM `".$mysql_usertable."` WHERE Id = \"{$_SESSION['user_id']}\"";
        
    $res mysql_query($sql) OR die(mysql_error());   
        
    $query mysql_fetch_assoc(mysql_query("SELECT * FROM `".$mysql_usertable."` WHERE `Id`= ".$_SESSION['user_id']));

        function 
    convert_date($datum) { 
        
    $teile explode("."$datum);
        return 
    $teile; }
     
        function 
    convert_date2($datum) {
        
    $datum explode("-"$datum);
        
    $datum1 $datum[2].".".$datum[1].".".$datum[0];
        return 
    $datum1;
        }
        
        
    $date $_POST['birthday'];
        
    $datum convert_date($date);
        
    $date2 $datum[2]."-".$datum[1]."-".$datum[0];

        if (
    $_POST['submit'])
        {
            
    $sql2 'UPDATE `'.$mysql_usertable_config.'` SET 
            `username` = \''
    .mysql_real_escape_string($_POST['username']).'\', 
            `email` = \''
    .mysql_real_escape_string($_POST['email']).'\', 
            `birthday` = \''
    .mysql_real_escape_string($date2).'\', 
            `land` = \''
    .mysql_real_escape_string($_POST['land']).'\', 
            `city` = \''
    .mysql_real_escape_string($_POST['city']).'\',
            `zipcode` = \''
    .mysql_real_escape_string($_POST['zipcode']).'\',
            WHERE `Id`= '
    .$_SESSION['user_id'];

            
    //echo $sql;
            
    mysql_query($sql2) OR die(mysql_error());  
              echo 
    'Die Einstellungen wurden übernommen!';
            
    header("Location: admin/change_config.php");
        }  
        else
        {

            echo 
    '<form method="post" action=""> 
            <table width="580" border="0" align="center" />
            <tr>
            <td class="headline"><strong>Einstellungen</strong></td>
            </tr>

              <tr>
            <td class="table2" align="left">Benutzername:</td>
            <td class="table2" align="left"><input type="text" name="username" value="'
    .$query['username'].'" size="30" /></td>
              </tr>      
      
              <tr>
            <td class="table1" align="left">Email Adresse:</td>
            <td class="table1" align="left"><input type="text" name="email" value="'
    .$query['email'].'" size="30" /></td>
              </tr>
            
                <tr>
            <td class="table1" align="left">Land:</td>
            <td class="table1" align="left">
            '
    ;
            if(
    $query['land'] == 'Deutschland'
            {
                echo 
    '<select name="land">
                <option value="Deutschland" selected>Deutschland</option>
                <option value="Österreich">Österreich</option>
                <option value="Schweiz">Schweiz</option>
                <option value="Anderes">Anderes</option>
                </select>'
    ;
            }
            elseif(
    $query['land'] == 'Österreich'
            {
                echo 
    '<select name="land">
                <option value="Deutschland">Deutschland</option>
                <option value="Österreich" selected>Österreich</option>
                <option value="Schweiz">Schweiz</option>
                <option value="Anderes">Anderes</option>
                </select>'
    ;
            }
            elseif(
    $query['land'] == 'Schweiz'
            {
                echo 
    '<select name="land">
                <option value="Deutschland">Deutschland</option>
                <option value="Österreich">Österreich</option>
                <option value="Schweiz" selected>Schweiz</option>
                <option value="Anderes">Anderes</option>
                </select>'
    ;
            }
            elseif(
    $query['land'] == 'Anderes'
            {
                echo 
    '<select name="land">
                <option value="Deutschland">Deutschland</option>
                <option value="Österreich">Österreich</option>
                <option value="Schweiz">Schweiz</option>
                <option value="Anderes" selected>Anderes</option>
                </select>'
    ;
            }
            echo 
    '
            </td>
              </tr>
      
            <tr>
               <td class="table2" align="left">Stadt:</td>
            <td class="table2" align="left"><input type="text" name="city" value="'
    .$query['city'].'" size="25" /></td>
              </tr>
            
              <tr>
               <td class="table2" align="left">Postleitzahl:</td>
            <td class="table2" align="left"><input type="text" name="zipcode" value="'
    .$query['zipcode'].'" size="5" /></td>
              </tr>
            
            <tr>
            <td class="table1" align="left">Geburtstag:</td>
            <td class="table1" align="left"><input type="text" name="birthday" value="'
    .convert_date2($query['birthday']).'" size="10" /></td>
              </tr>
            
            <tr>
            <td class="table1" align="left"></td>
            <td class="table1" align="left"><input type="submit" name="submit" value="Speichern" /></td>
              </tr>
            
            </table>

            </form>
            &nbsp;<br />'
    ;
            
        }
    ?>
     

  2. #2
    slaughter89 slaughter89 ist offline Mitglied Bronze
    Registriert seit
    May 2007
    Beiträge
    48
    Müsste das nicht so heißen:

    PHP-Code:

        $sql 
    "SELECT * FROM ".$mysql_usertable." WHERE Id = '".$_SESSION['user_id']."'";
        
    $res mysql_query($sql) OR die(mysql_error());   
        
    $query mysql_fetch_assoc(mysql_query("SELECT * FROM ".$mysql_usertable." WHERE Id = '".$_SESSION['user_id']."'")); 
    Geändert von slaughter89 (03.06.07 um 14:35 Uhr)
     

  3. #3
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Du hast in der Zeile vor dem WHERE ein "," stehen. Das muss weg.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  4. #4
    alex130 alex130 ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    654
    Hi
    Thx das hab ich total übersehen, aber jetzt kommt noch folgender Fehler:
    Code :
    1
    
    Unknown column 'Id' in 'where clause'
    Ich hoffe du kannst mir nochmal helfen.
    Thx
     

  5. #5
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    "Id" hast du groß geschrieben, während alles andere klein geschrieben ist.
    Bist du sicher, dass die Spalte mit einem führenden Großbuchstaben beginnt?
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  6. #6
    alex130 alex130 ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    654
    Ja das mit dem Id groß stimmt schon...
     

  7. #7
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    MySQL sagt aber definitiv nein, also stimmt da irgendetwas nicht.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  8. #8
    alex130 alex130 ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    654
    hab jetzt das feld umbenannt in id, damit alls klein ist...
    aber ich finde den fehler einfach nicht
     

  9. #9
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Hast du denn jetzt bei allen Queries die ID kleingeschrieben?

    Und was ist das hier?

    PHP-Code:
    $sql "SELECT * FROM `".$mysql_usertable."` WHERE Id = \"{$_SESSION['user_id']}\"";
        
    $res mysql_query($sql) OR die(mysql_error());   
        
    $query mysql_fetch_assoc(mysql_query("SELECT * FROM `".$mysql_usertable."` WHERE `Id`= ".$_SESSION['user_id'])); 
    Der Abschnitt macht irgendwie keinen Sinn...

    PHP-Code:
    $sql "SELECT * FROM `".$mysql_usertable."` WHERE id ='".$_SESSION['user_id']."'";
    $res mysql_query($sql) OR die(mysql_error());
    $query mysql_fetch_assoc($res); 
    Das würde eher Sinn machen.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  10. #10
    alex130 alex130 ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    654
    Hi
    Ja ich habe es überall übernommen.
    Stimmt dein Code macht mehr Sinn , aber es funktoniert immer noch nicht, ich weiß einfach nicht mehr weiter.
     

  11. #11
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Dann bauen wir es doch mal um, damit wir allgemein etwas mehr Übersicht haben und nicht mehr soviel escapen müssen...

    PHP-Code:
    if ($_POST['submit'])
        {
            
    $sql2 "UPDATE `".$mysql_usertable_config."` SET 
            `username` = '"
    .mysql_real_escape_string($_POST['username'])."', 
            `email` = '"
    .mysql_real_escape_string($_POST['email'])."', 
            `birthday` = '"
    .mysql_real_escape_string($date2)."', 
            `land` = '"
    .mysql_real_escape_string($_POST['land'])."', 
            `city` = '"
    .mysql_real_escape_string($_POST['city'])."',
            `zipcode` = '"
    .mysql_real_escape_string($_POST['zipcode'])."'
            WHERE `id`= '"
    .$_SESSION['user_id']."'";

            
    //echo $sql;
            
    mysql_query($sql2) OR die(mysql_error());  
              echo 
    'Die Einstellungen wurden übernommen!';
            
    header("Location: admin/change_config.php");
        } 
    Welches Query ist denn von der Fehlermeldung betroffen?
    Geändert von Flex (03.06.07 um 16:10 Uhr)
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  12. #12
    alex130 alex130 ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    654
    Hi
    Jetzt habe ich deinen Code übernommen und nun kommt wieder:
    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 'WHERE `id`= '2'' at line 8
     

  13. #13
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Sorry, hatte den Kommafehler wieder übernommen.

    Ist korrigiert.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  14. #14
    alex130 alex130 ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    654
    So hab nun endlich den Fehler, hatte im zweiten Query die Tabelle `'.$mysql_usertable_config.'`, das war die falsche Tabelle.
    Danke für deine Hilfe
     

  15. #15
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Verdammt, das wollte ich als Nächstes fragen
    Warum die eine ein config dran hat und die anderen Abfragen nicht

    Bitte klick noch auf "Erledigt".
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

Ähnliche Themen

  1. Popup funktoniert nicht
    Von alex130 im Forum Javascript & Ajax
    Antworten: 8
    Letzter Beitrag: 03.11.07, 15:13
  2. Cronjob funktoniert nicht
    Von alex130 im Forum Hosting & Webserver
    Antworten: 4
    Letzter Beitrag: 08.10.07, 15:45
  3. Login Script funktoniert nicht richtig
    Von alex130 im Forum PHP
    Antworten: 7
    Letzter Beitrag: 14.01.07, 17:29
  4. Mein Suchalgorithmus funktoniert nicht
    Von MinaM im Forum Algorithmen & Datenstrukturen mit Java
    Antworten: 6
    Letzter Beitrag: 22.08.05, 15:07
  5. 5.1 Sound funktoniert der Bass/Cener nicht
    Von SiNiE im Forum Microsoft Windows
    Antworten: 10
    Letzter Beitrag: 13.12.04, 20:05