php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.05.2005, 17:22  
Gast
 
Beiträge: n/a
Standard [Erledigt] Syntaxfehler (newbie)

Hallo!
ich habe ein Problem mit der Registrierung meines PHPBB2-Forums!
Wenn sich einer registrieren will, kommt immer Fehlermeldung!
Ich habe es dann mit PHPMyAdmin versuch, aber der gibt folgende Fehlermeldung aus:



Code:
SQL-Befehl: 

INSERT INTO phpbb_users( user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_absence_mode, user_absence, user_absence_text, user_sig, user_sig_bbcode_uid, user_sign, user_avatar, user_avatar_type, user_viewemail, user_aim, user_yim, user_msnm, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm, user_timezone, user_time_mode, user_dst_time_lag, user_dateformat, user_lang, user_style, user_level, user_allow_pm, user_active, user_actkey ) 
VALUES ( 6, 'testuser', 1117262224, '098f6bcd4621d373cade4e832627b4f6', 'teste@tester.de', '', '', '', '', '', 1, 0, '', '', '', , '', 0, 0, '', '', '', 1, 1, 0, 1, 1, 0, 1, 1, 2, 3, 60, 'd.m.Y H:i', 'german', 1, 0, 1, 0, 'ba0d1baf5f' ) 
MySQL meldet:  

#1064 - 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 ' '', 0, 0, '', '', '', 1, 1, 0, 1, 1, 0, 1, 1, 2, 3, 60, 'd.m.Y H:i', 'german', ' at line 1

Der original code heißt:
PHP-Code:
<?php
<?php $sql "INSERT INTO " USERS_TABLE "    (user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_absence_mode, user_absence, user_absence_text, user_sig, user_sig_bbcode_uid, user_sign, user_avatar, user_avatar_type, user_viewemail, user_aim, user_yim, user_msnm, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm, user_timezone, user_time_mode, user_dst_time_lag, user_dateformat, user_lang, user_style, user_level, user_allow_pm, user_active, user_actkey) 
                   VALUES ($user_id, '" 
str_replace("\'""''"$username) . "', " time() . ", '" str_replace("\'""''"$new_password) . "', '" str_replace("\'""''"$email) . "', '" str_replace("\'""''"$icq) . "', '" str_replace("\'""''"$website) . "', '" str_replace("\'""''"$occupation) . "', '" str_replace("\'""''"$location) . "', '" str_replace("\'""''"$interests) . "', $user_absence_mode, $user_absence, '" str_replace("\'""''"$user_absence_text) . "', '" str_replace("\'""''"$signature) . "', '$signature_bbcode_uid', $sign_sql, $avatar_sql, $viewemail, '" str_replace("\'""''"str_replace(' ''+'$aim)) . "', '" str_replace("\'""''"$yim) . "', '" str_replace("\'""''"$msn) . "', $attachsig, $allowsmilies, $allowhtml, $allowbbcode, $allowviewonline, $notifyreply, $notifypm, $popup_pm, $user_timezone, $time_mode, $dst_time_lag, '" str_replace("\'""''"$user_dateformat) . "', '" str_replace("\'""''"$user_lang) . "', $user_style, 0, 1, "?>  
?>
Den original code von PHPbb2 kann ich nicht benutzen, weil ich Mods eingebaut habe!!!

Danke in voraus Vinni10
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.05.2005, 18:39  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

1) woher kommen die variablen? -> addslases vieleicht irgendwo verwenden?
2) rück doch das query mal sauber ein
3) stimmen die ganzen typen der felder? sprich sind alle werte die nicht in ' stehen auch felder vom typ INT ?
robo47 ist offline   Mit Zitat antworten
Alt 29.05.2005, 08:31  
Gast
 
Beiträge: n/a
Standard

Ich habe auch eine Frage zur Syntax. Ich komme nicht drauf, was falsch ist.
PHP-Code:
<?php
$sql 
"
            SELECT
                *
            FROM
                users
            WHERE 
                _username = '"
.$username."'
           "
;
?>
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 'sql' at line 1
In dem komischen Handbuch find ich nix Gescheites

die $username wird aus einem Formular als POST übergeben.

Danke schon jetzt

edit: Habe soeben statt user `user` geschrieben, klappt aber immer noch nicht
  Mit Zitat antworten
Alt 29.05.2005, 09:25  
Erfahrener Benutzer
 
Registriert seit: 21.07.2004
Beiträge: 377
juhuwoorps
Standard

@axon

PHP-Code:
<?php
$sql 
"
            SELECT
                *
            FROM
                users
            WHERE
                _username = '$username'
           "
;
?>
So sollte es gehen.
__________________
Und geht auch alles in die Binsen, immer heftig weiter grinsen!
juhuwoorps ist offline   Mit Zitat antworten
Alt 29.05.2005, 09:45  
Gast
 
Beiträge: n/a
Standard

Ich habe mich entschieden, den ganze Code zu poste, da er mir unter anderem einen Parse error in Z. 64 ( Am ende des langen Echo-Teils <a href=...>Klicken Sie hier...</a>)meldet (expecting , or ; ...)
PHP-Code:
<?php
    session_start
();
    
    
// Mit DB verbinden zur Abfrage der Userdaten
    
include "config.inc.php";
    @
mysql_connect(SQLHOSTSQLUSER) or die ("
        Verbindung zur Datenbank "
.SQLDB." nicht möglich. (SQLHOST, SQLUSER, SQLPASS)
        "
);
    @
mysql_select_db(SQLDB) or die ("
        Verbindung zur Datenbank "
.SQLDB." nicht möglich. (SQLDB)
        "
);
        
    
// Passwort & ID auslesen aus dem Datensatz mit dem übergebenen Namen
    
$username $_POST['username'];
    
$sql "
            SELECT
                *
            FROM
                users
            WHERE
                _username = '$username'
           "
;        
    
$result mysql_query(sql) or die (mysql_error());
    
$daten =  mysql_fetch_assoc($result) or die (mysql_error);
    
    
// Kontrolle des Log-ins
    
$password $_POST['password'];
    if ((
$username == $daten['_username']) AND ($password == $daten['_password'])) {
        
$_SESSION["userid"]   = $daten[_id];
        
$_SESSION["username"] = $daten[_username];
        
$_SESSION["password"] = $daten[_password];
        
$_SESSION["email"]    = $daten[_email];
        
$_SESSION["status"]   = "angemeldet";
        echo 
"
        <html>\n
        <head>\n
        <title>Log-in ungültig</title>\n
        <meta http-equiv=refresh content=10 url=inside/index.php?"
.session_name()."=".session_id().">\n
        <style type=text/css>\n
        td {\n
          font-family: Arial, Helvetica, sans-serif;\n
          font-size: 12px;\n
        }\n
        \n
        a {\n
          font-family: Arial, Helvetica, sans-serif;\n
          font-size: 12px;\n
          color: d8130e;\n
        }\n
        \n
        a:hover {\n
          font-family: Arial, Helvetica, sans-serif;\n
          font-size: 12px;\n
          color: 808080;\n
          text-decoration: none;\n
        }\n
        </style>\n
        </head>\n
        <body>\n
        <table width=400 bgcolor=808080 cellspacing=1 cellpadding=5>\n
        <tr>\n
        <td width=400 bgcolor=ffffff>\n
        [b]Log-in erfolgreich! Sie werden nach 10 Sekunden automatisch weitergeleitet![/b]
\n
      <a href=inside/index.php?"
.session_name()."=".session_id().">Klicken sie hier, wenn 
        Sie nicht warten wollen, oder Ihr Browser keine automatische Weiterleitung unterstützt</a>\n
        </td>\n
        </tr>\n
        </table>\n
        </body>\n
        </html>
        "
;
        }
?>
@juhuwoorps:
Ich habe es so eingefügt wie, du es gesagt hast, und jetzt bekomm ich das hier:
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 'sql' at line 1
Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

edit: habe gerade den Browser-Tab aktualisiert, und jetzt steht nur die alte Meldung da... habe aber glaube ich nix verändert
  Mit Zitat antworten
Alt 29.05.2005, 10:11  
Erfahrener Benutzer
 
Registriert seit: 21.07.2004
Beiträge: 377
juhuwoorps
Standard

PHP-Code:
<?php
$result 
mysql_query(sql) or die (mysql_error()); 
?>
Da fehlt das $ bei SQL:

$result = mysql_query($sql) or die (mysql_error());
__________________
Und geht auch alles in die Binsen, immer heftig weiter grinsen!
juhuwoorps ist offline   Mit Zitat antworten
Alt 29.05.2005, 10:13  
Gast
 
Beiträge: n/a
Standard

tatsächlich! Bin ich blöd...

Vielen Dank, jetzt geht's
  Mit Zitat antworten
Alt 29.05.2005, 10:16  
Erfahrener Benutzer
 
Registriert seit: 21.07.2004
Beiträge: 377
juhuwoorps
Standard

Habs auch erst nicht gesehen
__________________
Und geht auch alles in die Binsen, immer heftig weiter grinsen!
juhuwoorps ist offline   Mit Zitat antworten
Alt 29.05.2005, 10:21  
Gast
 
Beiträge: n/a
Standard

@vinni10:


Der Fehler liegt an der markierten Stelle:
Code:
VALUES ( 6, 'testuser', 1117262224, '098f6bcd4621d373cade4e832627b4f6',
'teste@tester.de', '', '', '', '', '', 1, 0, '', '', '', , '', 0, 0,
//------------------------------------------------------^----------------- ???

MySQL meldet:

#1064 - 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 ' '', 0, 0, '', '', '', 1, 1, 0, 1, 1, 0, 1, 1, 2, 3, 60, 'd.m.Y H:i', 'german',
//---^^^^------------------------------------------------------------------------------- ???
- Überprüfe die entsprechende Variable in deinem INSERT-statement!

mfG ~dilemma~
  Mit Zitat antworten
Alt 29.05.2005, 20:23  
Gast
 
Beiträge: n/a
Standard

Mein jetziges Problem hängt evtl. auch mit MySQL zusammen.

Zuerst einmal der Code der Datein login.php
PHP-Code:
<?php
    session_start
();
    
session_register("benutzername""benutzerpasswort""benutzerstatus");
    
$benutzername     $_POST['benutzername'];
    
$benutzerpasswort $_POST['passwort'];
    
// -------------------------------------------------------------------------
    
include "header1.html";
    
// -------------------------------------------------------------------------
    
echo "Die Eingaben werden geprüft ...";
    
// -------------------------------------------------------------------------
    
include "header2.html";
    
// -------------------------------------------------------------------------  
    // Prüfen, ob die Eingaben (korrekt) gemacht wurden
    
if (($benutzername == "") OR ($benutzerpasswort == "")) {
        echo 
"Bitte gehen Sie [url="javascript:history.back()>zurück</a>"]zurück[/url] und korrigieren sie Ihre Eingabe";
        } else {
            
$benutzerdaten = @mysql_fetch_assoc($result) or die (mysql_error());
            if ((
$benutzername == $benutzerdaten['benutzername']) AND ($benutzerpasswort == $benutzerdaten['benutzerpasswort'])) {
                echo 
"Prüfung abgeschlossen. Die Daten wurden akzeptiert. <a href=index_inside.php?".session_name()."=".session_id().">weiter</a>";
            } else {
                echo 
"Bitte gehen Sie <a href=javascript:history.back()>zurück</a> und korrigieren sie Ihre Eingabe";
            }
        
//}
    
}
    
// -------------------------------------------------------------------------
    
include "footer1.html";

    echo 
"<center><small style=color:ffffff>&copy; 2005 w00dg3tt3r</small></center>";

    include 
"footer2.html";
?>
==> Aus einem Formular wird per POST der Benutzername und das PW übergeben. Über MySQL soll nach dem Benutzernamen gesucht werden und das PW verglichen werden und dann die entsprechende Ausgabe erzeugt werden (a) falsche eingaben oder b) ein link: weiter

Aber - wenn man die Formularfelder auf der Seite davor leer lässt, oder richtige Logindaten angibt, kommt die Meldung a)
Gbit man irgendwelchen Müll ein, wird nur die hälfte der seite von oben nach unten eingebaut, d.h. es werden glaube ich die letzten 2 (?) includes nicht gemacht

Habt Ihr ne Ahnung woran das liegt? Auf der Startseite wird alles sauber angezeigt, d.h. die includes funktionieren alle
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Update / syntaxfehler prinzli Datenbanken 7 24.11.2007 21:24
Syntaxfehler wo keiner ist h0nIg Datenbanken 3 08.06.2007 13:56
MySQL - Syntaxfehler, aber wo? L.Croft Datenbanken 3 28.08.2006 19:57
newbie upload frage PHP Tipps 2006 10 29.01.2006 23:28
Syntaxfehler PHP Tipps 2005-2 4 09.10.2005 05:41
[Erledigt] bcmul ungültig oder Syntaxfehler? PHP Tipps 2005-2 18 02.09.2005 15:13
Syntaxfehler wer kann helfen? HTML, Usability und Barrierefreiheit 13 05.08.2005 15:26
Syntaxfehler, wohin kommt ORDER BY PHP Tipps 2005 7 12.02.2005 13:21
[Erledigt] InnoDB Problem oder Syntaxfehler? Datenbanken 2 27.10.2004 16:44
Syntaxfehler? PHP Tipps 2004 14 25.10.2004 19:15
Counterproblem...Syntaxfehler und ; erwartet phpfortgeschrittener HTML, Usability und Barrierefreiheit 6 31.07.2004 22:54
PHP mit Apache zum Laufen bringen??? (Vorsicht Newbie!) Server, Hosting und Workstations 6 03.07.2004 14:51


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:56 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.