Maison
développement back-end
tutoriel php
TP报number of bound variables does not match number of tokens



TP报number of bound variables does not match number of tokens
Oct 09, 2016 am 08:32 AM
mysql
php
sql
thinkphp
PHP版本:PHP 5.4.16
ThinkPHP版本:3.2.3
直接上代码:
<code>$data: Array ( [area] => aa [brand] => bb [color] => cc [type] => 通勤车 [alerted_police] => 0 [status] => 0 [lost_time] => [info] => dd [email] => email@email.com [update_time] => [timestamp] => 1 [img_info_id] => 201610081621501801716297 )</code>
Copier après la connexion
$sql = $ReportLost->fetchSql(true)->add($data);
<code>INSERT INTO `report_lost` (`area`,`brand`,`color`,`type`,`alerted_police`,`status`,`lost_time`,`info`,`email`,`update_time`) VALUES ('aa','bb','cc','通勤车','0','0',NULL,'dd','email@email.com',NULL)</code>
Copier après la connexion
接下来执行$result = $ReportLost->add($data);
就会报错:
<code>ERR: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens</code>
Copier après la connexion
然而在mysql中直接执行$sql
中的
<code>mysql> INSERT INTO `report_lost` (`area`,`brand`,`color`,`type`,`alerted_police`,`status`,`lost_time`,`info`,`email`,`update_time`) VALUES ('aa','bb','cc','通勤车','0','0',NULL,'dd','email@email.com',NULL); Query OK, 1 row affected (0.02 sec)</code>
Copier après la connexion
是可以插入的。
数据表结构
<code>-- 表的结构 `report_lost` -- CREATE TABLE IF NOT EXISTS `report_lost` ( `id` int(11) NOT NULL, `title` varchar(80) CHARACTER SET utf8mb4 DEFAULT NULL, `keyword` varchar(100) CHARACTER SET utf8mb4 DEFAULT NULL, `area` varchar(50) CHARACTER SET utf8mb4 DEFAULT NULL, `brand` varchar(20) CHARACTER SET utf8mb4 DEFAULT NULL, `sub_brand` varchar(20) CHARACTER SET utf8mb4 DEFAULT NULL, `color` varchar(20) CHARACTER SET utf8mb4 NOT NULL, `type` varchar(20) CHARACTER SET utf8mb4 NOT NULL, `alerted_police` int(4) NOT NULL DEFAULT '0', `status` int(4) NOT NULL DEFAULT '0', `info` text CHARACTER SET utf8mb4, `image` text CHARACTER SET utf8mb4, `user` varchar(50) CHARACTER SET utf8mb4 DEFAULT NULL, `email` varchar(50) CHARACTER SET utf8mb4 NOT NULL, `contact` varchar(50) CHARACTER SET utf8mb4 DEFAULT NULL, `descrpition` text CHARACTER SET utf8mb4, `uuid` varchar(36) CHARACTER SET utf8mb4 DEFAULT '00000000-0000-0000-0000-000000000000', `lost_time` timestamp NULL DEFAULT NULL, `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` timestamp NULL DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;</code>
Copier après la connexion
表中的字段的确比$data中的要多,但是在$data中未定义的都可以NULL。
这是thinkphp的限制吗?或是php的限制?有什么解决办法,我需要在$data中把所有mysql需要的字段都先定义了吗?
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines
By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines
By DDD

Outils chauds Tags

Article chaud
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines
By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines
By DDD

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4

Comment configurer Visual Studio Code (VS Code) pour le développement PHP
