列计数与第1行的值计数不匹配,我没有发现错误(Column count doesn't match value count at row 1, and i don't find t

编程入门 行业动态 更新时间:2024-10-21 07:56:32
列计数与第1行的值计数不匹配,我没有发现错误(Column count doesn't match value count at row 1, and i don't find the mistake)

我有一个PHP脚本,应该将一些值插入到mysql-db中。

我认为它必须工作,但始终会出现错误'列计数与第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

感谢他们给我一些提示

迪特

I have a PHP-Script that should insert some values into a mysql-db.

I think it must work, but get always the error 'Column count doesn't match value count at row 1'. I look over and over, and try something, but i don't find the mistake.

Can anybody hava look, and help me to find it?

Here is the 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; ?>

And here is the an 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

And now the Response:

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

Thanks to all they give me some tipps

Dieter

最满意答案

您在:datum列表中缺少逗号: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 ----------------------- ^

You have a missing comma in the value list between :datum and :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 ----------------------- ^

更多推荐

本文发布于:2023-08-07 01:43:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1458519.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:不匹配   错误   发现   Column   count

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!