php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.07.2004, 13:05  
Gast
 
Beiträge: n/a
Standard [Erledigt] Wo ist der Fehler im Script (MySQL mit PHP)

Hallo,

ich habe einen Script erstellt, welcher in meiner MySQL Datenbank eine neue Zeile einfügen soll; er besteht einmal aus einem normalen HTML-Dokument mit einer Post-Form :

<h2>Eintrag ins Newssystem hinzufügen</h2>
<form action="submit.php" method="post" class="formular">

<label for="name">Name</label>
<input type="text" name="Autor" id="Autor" />
<label for="email">

Titel</label>
<input type="text" name="Titel" id="Titel" />
<label for="beitrag">

Beitrag</label>
<textarea name="Inhalt" id="Inhalt"></textarea>


<input type="submit" name="submit" value="Speichern" />
<input type="reset" name="submit" value="Zurücksetzen" />

</form>


Weiterhin besteht der Script noch aus einem Php-Dokument, dem sog. 'submit.php'. Hier der Code:

PHP-Code:
<?php        
            error_reporting
(E_ALL);    
            include 
'config.php';    // Konfigurationsdatei laden    
            
@mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());    
            
mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());   
            
            
            if(!isset(
$_POST['Autor'], $_POST['Titel'],              
            
$_POST['Inhalt'])) {        
            die(
"Bitte Benutzen sie das Formular aus demFormular\n");    
            }    
            
            if(
trim($_POST['Autor']) == "") {        
            die(
"Bitte geben sie einen Namen ein");    
            }   
            
            if(
trim($_POST['Inhalt']) == "") {        
            die(
"Bitte geben sie einen Text ein");    
            }    
             
             
            
$sql "INSERT INTO News2                
                    (Autor, Inhalt, Titel)            
                    VALUES                
                    ('"
.addslashes(htmlspecialchars($_POST['Autor']))."',                
                     '"
.addslashes(htmlspecialchars($_POST['Titel']))."',                
                     '"
.addslashes(htmlspecialchars($_POST['Inhalt']))."',                              
                     NOW())"
;    
                     
            
mysql_query($sql) OR die(mysql_error());    
            echo 
"

Vielen Dank für ihren Eintrag.</p>\n"
;    
            echo 
"

[url='news.php']Zurück zu den News[/url]</p>\n"
;?>
Zur Erklärung: Die Werte der Form aus dem HTML-Dokument werden, wenn man auf abschicken klickt, an das php-Dokument 'submit.php' gesendet, wo sie weiterverarbeitet werden sollen.

Bis zum Punkt $sql = "INSERT INTO ... " läuft das Script einwandfrei. Aber ab diesem Punkt bekomme ich immer, wenn ich beim HTML-Formular (vollständig ausgefüllt) auf abschicken klicke, folgende Fehlermeldung: Column count doesn't match value count at row 1.

Ich bin ein absoluter Newbie, was php und Datenbanken angeht. Kann mir deshalb irgendjemand helfen, wie ich dieses Problem lösen kann?

Vielen Dank im Voraus für eure Hilfsbereitschaft!

Gruß Cornelius
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.07.2004, 13:09  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.034
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Du füllst drei Attribute (Autor, Inhalt, Titel) mit vier Werten (Autor, Titel, Inhalt, now()). Woher soll nun die Datenbank wissen, wo sie das aktuelle Datum versorgen soll?
__________________
Gruss
L
lazydog ist offline  
Alt 26.07.2004, 13:34  
Gast
 
Beiträge: n/a
Standard Funzt nich ganz!

Jo, vielen Dank lazydog, jetzt bin ich einen guten Schritt weiter. Hab das jetzt verändert zu folgendem Code:

PHP-Code:
$sql "INSERT INTO News2                
                    (Autor, Inhalt, Titel)            
                    VALUES                
                    ('"
.addslashes(htmlspecialchars($_POST['Autor']))."',                
                     '"
.addslashes(htmlspecialchars($_POST['Titel']))."',                
                     '"
.addslashes(htmlspecialchars($_POST['Inhalt']))."',                              
                     )"

Nur jetzt kommt folgende Fehlermeldung: You have an error in your SQL syntax near ')' at line 7

Kann mir jemand helfen, wie ich diesen Synatxfehler beheben kann?

Danke! Gruß Cornelius!
 
Alt 26.07.2004, 13:42  
Benutzer
 
Registriert seit: 20.07.2004
Beiträge: 99
oswald
oswald eine Nachricht über ICQ schicken
Standard

meiner meinung nach solltest du alles in eine zeile schreiben oder die folgenden zeilen mit $sql .= ""; schreiben
__________________
MfG O$w@Ld.at
oswald ist offline  
Alt 26.07.2004, 13:47  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von oswald
meiner meinung nach solltest du alles in eine zeile schreiben oder die folgenden zeilen mit $sql .= ""; schreiben
Bloss nicht ... für meinen Geschmack ist das so richtig:
PHP-Code:
$sql "
    INSERT INTO News2                
    (
        Autor,
        Inhalt,
        Titel
    )            
    VALUES                
    (
        '"
.addslashes(htmlspecialchars($_POST['Autor']))."',                
        '"
.addslashes(htmlspecialchars($_POST['Titel']))."',                
        '"
.addslashes(htmlspecialchars($_POST['Inhalt']))."'                              
    )"

Hier ist auch das überflüssige letzte Komma entfernt
Guradia ist offline  
Alt 26.07.2004, 13:58  
Gast
 
Beiträge: n/a
Standard Es läuft!

Jo, vielen Dank, es läuft. Dieses Forum ist wirklich genial - hier gibt's turboschnell Hilfe!
 
Alt 26.07.2004, 15:10  
Gast
 
Beiträge: n/a
Standard Neues Problem!

Die Datenbankanbindung funzt nun 100%ig, nur, es hat sich schon wieder ein neues Problem aufgetan.

Alle Texte, die ich in das Textfeld eingebe (eintragen.htm), werden nicht eins zu eins übernommen sondern noch umgewandelt; so wird aus

Hallo!


Hallo!

Hallo! &lt;br&gt;&lt;br&gt;&lt;br&gt; Hallo!.

(die HTML-Codes sind somit unwirksam).

Hier der Link zum Beispiel: http://cornelius.balzed.com/news.php

Kann mir irgendjemand von euch helfen?
Vielen Dank im Voraus, Gruß Cornelius
 
Alt 26.07.2004, 17:37  
Gast
 
Beiträge: n/a
Standard

Guckst Du: http://de3.php.net/manual/de/functio...ecialchars.php
Diese Funktion setzt Du massenhaft ein, das kann also nichts anderes bei rumkommen.

Gruß
phpfan
 
Alt 26.07.2004, 17:52  
Gast
 
Beiträge: n/a
Standard Natürlich!

Ne ne ne, was bin ich wieder zerstreut heute. Vielen Dank für deine Hilfe!
 
Alt 26.07.2004, 18:03  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Neues Problem!

Zitat:
Zitat von Cornelius
Hier der Link zum Beispiel: http://cornelius.balzed.com/news.php
ich würde wenigstens mal den adminbereich mit nem login versehen

aber das nur am rande
imported_Ben ist offline  
 


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
mysql fehler meldung: basicx Datenbanken 1 22.07.2008 09:48
mysql + confixx fehler - mysql geht plötzlich nicht mehr Datenbanken 2 31.12.2006 11:41
Mysql Syntax Fehler Datenbanken 3 06.07.2006 09:58
MySQL Fehler nach Änderung einer PHP Datei mark007q Datenbanken 2 09.05.2006 23:56
[Erledigt] Mysql Fehler Datenbanken 3 04.09.2005 16:58
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
Blöder MySQL Fehler PHP Tipps 2005 3 15.05.2005 03:14
[Erledigt] mysql fehler PHP Tipps 2005 18 17.04.2005 19:26
MYSQl Ausles Fehler PHP Tipps 2005 4 17.04.2005 16:07
MySQL Export Script als *.csv Mano Beitragsarchiv 5 28.03.2005 18:54
php mysql fehler find in nicht! PHP Tipps 2007 16 04.01.2005 17:04
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
Fehler im Login Script PHP Tipps 2004 3 06.07.2004 20:37
MySQL Syntax Fehler PHP Tipps 2004 3 27.06.2004 13:01
Paradox, Fehler bei Berechnung in MySQL MrNiceGuy Datenbanken 0 23.06.2004 16:09

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
script suchfunktion füt msql, mysql datum von bis, .htmlspecialchars($_post erklärung, php datenbank error script???

Alle Zeitangaben in WEZ +1. Es ist jetzt 19:11 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.