PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   Error in der SQL syntax (http://www.selfphp.de/forum/showthread.php?t=23757)

Sr2406 16.11.2010 13:28:51

Error in der SQL syntax
 
Hallo Forum,

ich bin hier noch ganz neu und in PHP ist das mein zweites selbstgeschriebenes Script.

Das Script soll dazu dienen, aus einem Formular daten in eine Mysql Datenbank einzutragen. Die Einträge sollen Beiträge zu einem Gästebuch sein.

Leider hänge ich nun seit zwei Tagen an dem folgenden Fehler:

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 ')' at line 9

Meine Suchen in dieversen Suchmaschinen konnten mir nicht helfen dieses Problem selbst zu lösen. Daher bitte ich euch doch einmal auf meinen PHP Code zu schauen, und mir evtl zu sagen, wo der Fehler liegt.

Hier nun der PHP Code:

PHP-Code:

<?php
                  
// PHP funktionen
                        
$db_host "";
                        
$db_user "";
                        
$db_pass "";
                        
$db_name "";
                        
$db_tabelle "gaestebuch";
                    
// Verbindung oeffnen und Datenbank auswählen
                    
$db mysql_connect$db_host$db_user$db_pass ) or die ( "Die Datenbank konnte nicht erreicht werden" );
                    if (
$db)
                    {
                    
mysql_select_db$db_name$db ) or die(mysql_error());
                    }
                        if (isset( 
$_POST['absenden'] ))
                        {

Nach meinem Verständnis müsste line 9 dann ja die Zeile mit $db = sein. Ich finde dort nur leider keinen Fehler.

Natürlich ist bei host, user, passwort usw. etwas eingetragen.

Ich hoffe mir kann jemand helfen.

Lg
SR2406

DokuLeseHemmung 16.11.2010 14:08:17

AW: Error in der SQL syntax
 
Zitat:

Nach meinem Verständnis müsste line 9 dann ja die Zeile mit $db = sein.
Der SQL Server schickt dir die Zeilennummer.
Kann der das Script sehen?
Nein!
Der sieht nur das SQL Statement.

Zusätzliches Indiz:
Die Meldung mal lesen: "You have an error in your SQL syntax;"
Da steht "SQL syntax" und nicht "PHP syntax"!

Die logische Konsequenz, dieses komplexen Gedankengangs:
Der Fehler steckt in Zeile 9 des SQL Statements.

Sr2406 16.11.2010 14:29:14

AW: Error in der SQL syntax
 
Danke erstmal für die Antwort.

Wieder was gelernt ;-) lesen!

Das heißt dann, dass das SQL Statement mit der $db Zeile anfängt, richtig?
Ich glaube ich stehe grad voll auf der Leitung.

Nochmal ein Auszug aus dem Script:

PHP-Code:

<?php
                  
// PHP funktionen
                        
$db_host "***";
                        
$db_user "***";
                        
$db_pass "***";
                        
$db_name "***";
                        
$db_tabelle "gaestebuch";
                    
// Verbindung oeffnen und Datenbank auswählen
                    
$db mysql_connect$db_host$db_user$db_pass ) or die ( "Die Datenbank konnte nicht erreicht werden" );
                    if (
$db)
                    {
                    
mysql_select_db$db_name$db ) or die(mysql_error());
                    }
                        if (isset( 
$_POST['absenden'] ))
                        {
                            
// Maskierende Slashes aus POST entfernen
                                
$_POST get_magic_quotes_gpc() ? array_map'stripslashes'$_POST ) : $_POST;
                        
                            
// Inhalte der Felder aus POST holen
                            
$vorname $_POST['vorname'];
                            
$nachname $_POST['nachname'];
                            
$inhalt $_POST['inhalt'];
                            
$datum date('d.m.Y');
                            
$zeit date('H:i');

Wo ist denn dann der Fehler? Ich blicke grad nicht durch.
Kannst du mir vielleicht noch einmal helfen?

Danke schonmal!!!

DokuLeseHemmung 16.11.2010 14:35:47

AW: Error in der SQL syntax
 
Zitat:

Das heißt dann, dass das SQL Statement mit der $db Zeile anfängt, richtig?
Nein, das heißt es nicht!
Denn "$db= ..." ist PHP Code und kein SQL
Aber das sachte ich dir doch schon.....
Noch mal ein bisschen lesen üben ;-)

thomas_w 16.11.2010 14:37:19

AW: Error in der SQL syntax
 
Hallo Admin,

bitte mal die Login-Daten aus obiger Nachricht entfernen...

PHP-Code:

<?php 
                  
// PHP funktionen 
                        
$db_host "xx"
                        
$db_user "xx"
                        
$db_pass "xx"
                        
$db_name "xx"
                        
$db_tabelle "gaestebuch";

@sr2406

Wie schon DokuLeseHemmung erklärt hat, der Fehler ist im SQL-Befehl. Gebe doch mal den SQL-Befehl mit echo aus und verrate ihn uns.


Grüße
Thomas

vt1816 16.11.2010 14:39:20

AW: Error in der SQL syntax
 
Zitat:

Zitat von thomas_w (Beitrag 139093)
Hallo Admin,

bitte mal die Login-Daten aus obiger Nachricht entfernen...

erledigt!

Sr2406 16.11.2010 16:04:06

AW: Error in der SQL syntax
 
Danke fürs entfernen! Hatte ich vergessen.

Das Problem hat sich so wies aussieht gelöst. Hatte beim senden an die Datenbank die Variablen für datum und zeit angegeben. Da lag wohl auch der Fehler. Habe nun die Daten direkt angegeben und nun funktioniert der Datenbankeintrag.

Das einzige was ich jetzt noch einbauen muss ist, dass nach absenden des Formulars wieder das Gästebuch angezeigt wird. Das funktioniert auch soweit mit "readfile()" allerdings habe ich dann den head und die Navi doppelt. Kann mir jemand auf die schnelle sagen, wie ich das noch hinbekomme? Wenn nicht auch nicht schlimm.

Lg
SR2406

DokuLeseHemmung 16.11.2010 16:10:26

AW: Error in der SQL syntax
 
Du hast die lustige Angewohnheit, wesentliche Dinge geheim zu halten.
Naja.... ich brauche ja keine Hilfe...

Bedenke:
Die telepathische Begabung der meisten Helfer ist so grottenschlecht, dass sie noch nicht mal das sehen, was du auf deinem Monitor siehst.

knight1 16.11.2010 16:18:05

AW: Error in der SQL syntax
 
Zitat:

Zitat von Sr2406 (Beitrag 139089)
...
PHP-Code:

<?php
                  
// PHP funktionen
                        
$db_host "";
                        
$db_user "";
                        
$db_pass "";
                        
$db_name "";
                        
$db_tabelle "gaestebuch";
                    
// Verbindung oeffnen und Datenbank auswählen
                    
$db mysql_connect$db_host$db_user$db_pass ) or die ( "Die Datenbank konnte nicht erreicht werden" );
                    if (
$db)
                    {
                    
mysql_select_db$db_name$db ) or die(mysql_error());
                    }
                        if (isset( 
$_POST['absenden'] ))
                        {

...

Bin ich zu blöd dazu, oder finde ich da wirklich kein SQL-Statement?


Kai aka Knight1

DokuLeseHemmung 16.11.2010 16:24:41

AW: Error in der SQL syntax
 
@Sr2406
Siehste!
Kaum sacht mans, schon ist einer da!




@knight1
Zitat:

Zitat von knight1 (Beitrag 139097)
Bin ich zu blöd dazu, oder finde ich da wirklich kein SQL-Statement?

Zu dem "blöd" sage ich jetzt nichts .....

Aber hast halt nicht die richtige Begabung.
Unter TS (telepathie Stufe) 5 bis 8 wird das nix.


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:33:53 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.