mysql中PDO参数化引号引起的Warning: PDOStatement::execute(): SQLSTATE[HY093]:报错

sql语句之前是这样写的:INSERT INTO tablename SET a = ‘:a‘,b = ‘:b‘,c = ‘:c‘,d = :d,e = :e

$data = array

(
[‘:a‘] => 1,
[‘:b‘] => 2,
[‘:c‘] => 3,
[‘:d‘] => 4,
[‘:e‘] => 5,
)

$prepareResualt = $pdo->prepare($sql);
$prepareResualt->execute($data);

出现了Warning:  PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens报错

然后改成:INSERT INTO tablename SET a = :a,b = :b,c = :c,d = :d,e = :e

正常插入数据 ,大概是参数化语句中不需要把字符串类型的参数加上引号吧,也确实感觉有点多此一举。

时间: 2024-10-27 08:24:16

mysql中PDO参数化引号引起的Warning: PDOStatement::execute(): SQLSTATE[HY093]:报错的相关文章

wampserver -- 取消PHP页面Warning和Notice级别的报错

Learn from:http://yige.org/p/91 一般遇到这样的问题,有两个方法:1.如果有服务器权限,直接把服务器上的php.ini的配置改了,改成不输出Warning和Notice级别的报错.修改php.ini的error_reporting 配置参数值为: error_reporting = E_ALL & ~E_NOTICE 当然,改完php.ini是需要重启web服务器配置才可以生效的. 2.如果没有服务器权限,在出问题的php文件头部里入下面的代码(在其他位置也可以,只

MySQL server has gone away(在执行sql的时候,莫名的报错)

原文:https://cenalulu.github.io/mysql/mysql-has-gone-away/ MySQL Server has gone away报错原因汇总分析 原因1. MySQL 服务宕了 原因2. 连接超时 原因3. 进程在server端被主动kill 原因4. Your SQL statement was too large. 本文将总结和汇总MySQL Server has gone away这类报错发生的原因 背景:在平时和开发的交流 以及 在论坛回答问题的或称

android中Http访问时 connection.getResponseCode()不被执行,且报错 org.json.JSONException: End of input at character 0 of .

问题:用 android 4.4 写android访问http时,到connection.getResponseCode() 就不被执行,也不报错:但是抛出org.json.JSONException: End of input at character 0 of .异常: 连接代码: public static String getJsonContent(String url_path){ try { System.out.println("url_path---->>:"

WebStorm 项目中修改了文件名,提交到SVN 的两个报错。

今天在 WebStorm 项目中, 修改了两个文件夹的名称,点击更新提交后,分别出现了两个报错: 报错1:references in generated code to directory .....(Not Found)4 usages 报错2:occurrences found in comments, ....... 修改mp4 为  a_mp4 的 报错:(不知道是我看不懂报错提示,还是报错提示就是无意义.报JS 问题,我保证肯定不是我的JS 的问题.于是我就查阅了其他资料.) 解决办法

【微信】微信小程序 新建页面目录后,怎么自动生成目中的的四个基本文件呢? 新建目录报错如下VM458:2 未找到 app.json 中的定义的 pages "pages/module/module" 对应的 WXML 文件

如下图,在使用微信开发者工具过程中,新创建了页面目录,想要页面文件夹中自动生成四个基本文件 但是新创建了一个页面文件夹,里面的四个基本文件并没有展示出来 然后在app.json添加这个路径,ctrl+s 保存 依旧不能自动生成 解决方法: 经过测试,确实 -->新创建的项目中新创建的第一个空文件夹 才会自动给你创建四个基本文件. 如果已经自己创建过文件目录了,如上面已经创建了pages/swapping目录了,再自己去创建module目录的时候,就不会自动创建,反而会提示你缺少对应的文件!!!

关于使用KubeSphere中的docker配置Harbor仓库http访问docker login登陆报错的解决办法

# 先进入harbor目录中,停止harbor docker-compose down -v # 然后修改docker相关文件 # 第一种方式:修改/etc/docker/daemon.json { "insecure-registries": ["192.168.75.100:10000"] } # 第二种方式:修改/usr/lib/systemd/system/docker.service #ExecStart=/usr/bin/dockerd -H fd://

Python 忽略warning警告错误 + 跳过报错继续执行程序

如何主动产生warning错误: import warnings def fxn():     warnings.warn("deprecated", DeprecationWarning) with warnings.catch_warnings():     warnings.simplefilter("ignore")     fxn() 那么如何来控制警告错误的输出呢? import warnings warnings.filterwarnings(&quo

Eclipse中在android项目中出现新建一个Activity后,出现整个工程的报错以及包导入以后无法运行等等情况分析。

今天用Eclipse去写android项目,然后后面需要建一个Blank  Activity后,很正常的建立的,然后那个Activity是基于ActionBarAtivity,要导入v7,结果因为这个v7的原因,导致原来的导入包不见了,而且重新导入的时候,虽然工程开启没有报错误,但是接下来在运行的时候,结果运行不了,Logcat出现Classnotfound,但是之前的工程一点事都有.折磨了半天,终于发现错误所在,兼容性问题就不说了,说一下应该怎么解决这样的报错.那就是在新建的时候,你新建一个E

Eclipse中在android项目中出现新建一个Activity后,出现整个project的报错以及包导入以后无法执行等等情况分析。

今天用Eclipse去写android项目,然后后面须要建一个Blank  Activity后,非常正常的建立的.然后那个Activity是基于ActionBarAtivity,要导入v7,结果由于这个v7的原因,导致原来的导入包不见了.并且又一次导入的时候,尽管project开启没有报错误,可是接下来在执行的时候,结果执行不了.Logcat出现Classnotfound,可是之前的project一点事都有.折磨了半天,最终发现错误所在,兼容性问题就不说了,说一下应该怎么解决这种报错.那就是在新