2017-03-23 3 views
0

Ich habe ein PHP-Skript, das einige Werte in eine mysql-db einfügen sollte.Die Anzahl der Spalten stimmt nicht mit der Anzahl der Werte in Zeile 1 überein, und ich finde den Fehler nicht

Ich denke, es muss funktionieren, aber immer den Fehler erhalten "Spaltenanzahl stimmt nicht Wert Anzahl in Zeile 1". Ich schaue immer wieder hin und versuche etwas, aber ich finde den Fehler nicht.

Kann jemand hava schauen, und mir helfen, es zu finden? Hier

ist der Code:

<?php 
    $pdo = new PDO('mysql:host=www.mysite.com;dbname=db00000001', 'dbo00000001', 'password'); 
    $statement = $pdo->prepare("INSERT INTO tickets (Fehlernummer, 
                Programmversion, 
                DBVersion, 
                Status, 
                Kategorie, 
                Dringlichkeit, 
                NoWork, 
                Kurzbeschreibung, 
                Langbeschreibung, 
                Benutzer, 
                BenutzerName, 
                Datum, 
                BehDatum) VALUES (:fehlernummer, 
                    :programmversion, 
                    :dbversion, 
                    :status, 
                    :kategorie, 
                    :dringlichkeit, 
                    :nowork, 
                    :kurzbeschreibung, 
                    :langbeschreibung, 
                    :benutzer, 
                    :benutzername, 
                    :datum 
                    :behdatum)"); 
    $statement->bindValue('fehlernummer', $_GET['fehlernummer']); 
    $statement->bindValue('programmversion', $_GET['programmversion']); 
    $statement->bindValue('dbversion', $_GET['dbversion']); 
    $statement->bindValue('status', $_GET['status']); 
    $statement->bindValue('kategorie', $_GET['kategorie']); 
    $statement->bindValue('dringlichkeit', $_GET['dringlichkeit']); 
    $statement->bindValue('nowork', $_GET['nowork']); 
    $statement->bindValue('kurzbeschreibung', $_GET['kurzbeschreibung']); 
    $statement->bindValue('langbeschreibung', $_GET['langbeschreibung']); 
    $statement->bindValue('benutzer', $_GET['benutzer']); 
    $statement->bindValue('benutzername', $_GET['benutzername']); 
    $statement->bindValue('datum', $_GET['datum']); 
    $statement->bindValue('behdatum', $_GET['behdatum']); 
    if ($statement->execute()) { 
    echo 'OK '."<br />"; 
    } else { 
    echo 'Failes '."<br />"; 
    echo $statement->queryString."<br />"; 
    print_r($pdo->errorInfo()); 
    echo "<br />"; 
    print_r($statement->errorInfo()); 
    print_r($_GET); 
    echo "<br />"; 
    } 
    $lastid=$pdo->lastInsertId(); 
    echo $lastid; 
?> 

Und hier ist das eine URL-String:

http://www.example.com/scripts/newerror.php?fehlernummer=00003&programmversion=4.6.1.14&dbversion=4.6.1.14&status=0&kategorie=Nocheinekategorie&dringlichkeit=0&nowork=0&kurzbeschreibung=fsafa&langbeschreibung=fdsafafds&benutzer=diete&benutzername=dieter&datum=2017-03-23%2020:15:43&behdatum=1899-01-01%2000:00:00 

Und nun die Antwort:

Failes 
INSERT INTO tickets (Fehlernummer, Programmversion, DBVersion, Status, Kategorie, Dringlichkeit, NoWork, Kurzbeschreibung, Langbeschreibung, Benutzer, BenutzerName, Datum, BehDatum) VALUES (:fehlernummer, :programmversion, :dbversion, :status, :kategorie, :dringlichkeit, :nowork, :kurzbeschreibung, :langbeschreibung, :benutzer, :benutzername, :datum :behdatum) 
Array ([0] => 00000 [1] => [2] =>) 
Array ([0] => 21S01 [1] => 1136 [2] => Column count doesn't match value count at row 1) Array ([fehlernummer] => 00003 [programmversion] => 4.6.1.14 [dbversion] => 4.6.1.14 [status] => 0 [kategorie] => Nocheinekategorie [dringlichkeit] => 0 [nowork] => 0 [kurzbeschreibung] => fsafa [langbeschreibung] => fdsafafds [benutzer] => diete [benutzername] => dieter [datum] => 2017-03-23 20:15:43 [behdatum] => 1899-01-01 00:00:00) 
0 

Vielen Dank an alle geben sie mir einige Tipps

Dieter

Antwort

0

Sie haben ein fehlendes Komma in der Werteliste zwischen :datum und :behdatum

$statement = $pdo->prepare("INSERT INTO tickets 
           (Fehlernummer, Programmversion, 
           DBVersion, Status, 
           Kategorie, Dringlichkeit, 
           NoWork, Kurzbeschreibung, 
           Langbeschreibung, Benutzer, 
           BenutzerName, Datum, BehDatum) 
         VALUES (:fehlernummer, :programmversion, 
           :dbversion, :status, 
           :kategorie, :dringlichkeit, 
           :nowork, :kurzbeschreibung, 
           :langbeschreibung, :benutzer, 
           :benutzername, :datum, :behdatum)"); 
// missing comma was here ----------------------- ^
+0

Sie meinen Tag machen ;-) ich über einen Blick über, aber ich habe noch nie gewesen sehen. Thak du sehr. – captnemo

Verwandte Themen