2017-03-23 18 views
0

我有一個PHP腳本,應該插入一些值到mysql-db。列數不匹配第1行的值計數,我沒有發現錯誤

我認爲它必須工作,但始終會出現錯誤「列數與第1行的值計數不匹配」。我一遍又一遍地看,嘗試一些,但我沒有發現錯誤。

任何人都可以看看,並幫助我找到它嗎?

這裏是代碼:

<?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; 
?> 

這裏是一個URL字符串:

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 

而且現在響應:

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 

感謝所有他們給我一些tipps

迪特

回答

0

你必須在值列表中缺少逗號:datum: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

之間你讓我的一天;-) 我查看過,但我永遠都沒有看到這一點。非常感謝。 – captnemo

相關問題