首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP中的PDO操作学习(二)预处理语句及事务

在代码中,我们使用这一条 SQL 语句,通过替换不同的占位符内容,实现了两次查询。 prepare() 方法的第二个参数是为返回的 PDOStatement 对象设置的属性。...[42S02]: Base table or view not found: 1146 Table 'blog_test.tran_innodb2' doesn't exist 假设这两个需要同时更新...values ('Joe', 12)"); $pdo->exec("insert into tran_innodb2 (name, age) values ('Joe', 12)"); // 不存在...$e->getMessage(), PHP_EOL; // Failed: SQLSTATE[42S02]: Base table or view not found: 1146 Table '...在这里我们需要注意的是,PDO 对象最好指定错误模式为抛出异常,如果不指定错误模式的话,事务中出现的错误也不会直接报错,而是返回错误码,我们需要通过错误码来确定是否提交回滚。

96000
您找到你想要的搜索结果了吗?
是的
没有找到

PHP中的PDO操作学习(二)预处理语句及事务

在代码中,我们使用这一条 SQL 语句,通过替换不同的占位符内容,实现了两次查询。 prepare() 方法的第二个参数是为返回的 PDOStatement 对象设置的属性。...[42S02]: Base table or view not found: 1146 Table 'blog_test.tran_innodb2' doesn't exist 假设这两个需要同时更新...values ('Joe', 12)"); $pdo->exec("insert into tran_innodb2 (name, age) values ('Joe', 12)"); // 不存在...$e->getMessage(), PHP_EOL; // Failed: SQLSTATE[42S02]: Base table or view not found: 1146 Table '...在这里我们需要注意的是,PDO 对象最好指定错误模式为抛出异常,如果不指定错误模式的话,事务中出现的错误也不会直接报错,而是返回错误码,我们需要通过错误码来确定是否提交回滚。

96610

MySQL学习笔记-进阶部分

数据库对象可以包括、默认约束、规则、视图、触发器以及存储过程等。不同数据库对象,其执行语句(如 CREATE 和 DROP )的语法形式也不同。...(1) INSERT 语句:用于向已经存在的视图中插入新的数据。(2) SELECT 语句:用于查询视图中的数据。(3) UPDATE 语句:用于更新视图中的数据。...(4) DELETE 语句:用于删除视图中的数据。3.数据控制语言数据控制语言( Data Control Language , DCL )用于安全管理,确定哪些用户可以查修改数据库中的数据。...在进行数据库操作时,经常必须在PHP程序和数据库服务器之间来回传输大量数据的情况:PHP 程序执行一条 select 命令,对查询结果进行某种处理,根据查询结果执行一条 update 命令,返回 last_insert_id...例如 ERROR 1146(42S02) 中,下面定义“error 1089 (HU123)”这个错误,名称为 can_not_find。

28110

db2 terminate作用_db2 truncate table immediate

SQLSTATE 类代码 类代码 含义 要获得子代码,参阅…00 完全成功完成 301 警告 402 无数据 507 动态 SQL 错误 608 连接异常 709 触发操作异常 ...01667 可能不能使用视图来优化查询的处理。01669 由于远程目录与本地目录之间的模式不一致,因此,未彻底更新指定昵称的统计信息。01670 对新来说,不存在缺省主表空间。...类代码 02:无数据 SQLSTATE 值 含义02000 发生下述异常之一:SELECT INTO 语句 INSERT 语句的子查询的结果为空。...类代码 08 连接异常 7. 类代码 08:连接异常 SQLSTATE 值 含义08001 应用程序请求器不能建立连接。08002 连接已存在。08003 连接不存在。...类代码 26 无效 SQL 语句标识 21. 类代码 26:无效 SQL 语句标识 SQLSTATE 值 含义26501 标识的语句不存在。 类代码 27 触发的数据更改违例 22.

7.5K20

PDO::errorCode讲解

PDO::errorCode PDO::errorCode — 获取跟数据库句柄上一次操作相关的 SQLSTATE(PHP 5 = 5.1.0, PECL pdo = 0.1.0) 说明 语法 mixed...PDO::errorCode ( void ) 返回值 返回一个 SQLSTATE,一个由5个字母数字组成的在 ANSI SQL 标准中定义的标识符。...简要地说,一个 SQLSTATE 由前面两个字符的类值和后面三个字符的子类值组成。 如果数据库句柄没有进行操作,则返回 NULL 。...实例 取得一个 SQLSTATE 码 /* 引发一个错误 -- BONES 数据不存在 */ $dbh- exec("INSERT INTO bones(skull) VALUES ('lucy')"...以上例程会输出: PDO::errorCode(): 42S02 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对ZaLou.Cn的支持。

35321

MYSQL ERROR CODE 错误编号的意义

:无效的主机名 1043:无效连接 1044:当前用户没有访问数据库的权限 1045:不能连接数据库,用户名密码错误 1048:字段不能为空 1049:数据库不存在 1050:数据已存在...1051:数据不存在 1054:字段不存在 1065:无效的SQL语句,SQL语句为空 1081:不能建立Socket连接 1114:数据已满,不能容纳任何记录 1116:打开的数据太多...1129:数据库出现异常,请重启数据库 1130:连接数据库失败,没有连接数据库的权限 1133:数据库用户不存在 1141:当前用户无权访问数据库 1142:当前用户无权访问数据 1143...:当前用户无权访问数据中的字段 1146:数据不存在 1147:未定义用户对数据的访问权限 1149:SQL语句语法错误 1158:网络错误,出现读错误,请检查网络连接状况 1159:网络错误...错误:1244 SQLSTATE: HY000 (ER_CORRUPT_HELP_DB) 消息:帮助数据库崩溃不存在

2.6K20

PHP中的PDO操作学习(三)预处理类及绑定数据

不过,还是更加推荐指定 PDO 的错误处理方式为抛出异常,就像最上面我们定义的 PDO 对象那样。这样我们就可以通过 try...catch 来处理错误异常了。...而且并不是所有数据库连接驱动都支持这个方法。...,笔者没有测试过其它数据库,大家可以自行测试一下。...绑定字段 接下来就是重点内容了,在预处理语句中,我们可以使用占位符来绑定变量,从而达到安全处理查询语句的作用。通过占位符,我们就不用去自己拼装处理带单引号的字段内容了,从而避免了 SQL 注入的发生。...我们可以将查询结果集中指定的列绑定到一个特定的变量中,这样就可以在 fetch() fetchAll() 遍历结果集时通过变量来得到列的值。

1.4K10

数据库对象

视图建立在已有的基础上,视图依赖的就是 】 对视图进行CRUD操作,也就是对数据库中的对应的进行操作。...因为数据只有一份,试图就是他的一种显示形式 试图本省的删除,不会导致对中数据的删除。 视图不仅可以创建在一个或者多个基本上, 还可以创建在一个或者多个已经定义好的视图上。...,discrib FROM student; 删除视图: DROP VIEW 视图名; 更新视图: 更新视图 就是指通过视图来插入、删除和修改数据 由于视图实际是不存在的,所以对试图的操作,最终就会转换为对的操作...VIEW 视图名称 AS 查询语句 视图更新失败的原因 视图由两个以上的基本导出,不能更新 视图中的字段来自于函数、表达式、常量等 或者说字段本身不存在的情况,就会更新失败 若视图中含有GROUP...{BEFORE | AFTER}:指定触发器在相应的数据库操作之前之后执行。 {INSERT | UPDATE | DELETE}:指定触发器要响应的事件类型。

10610

MySQL存储过程、函数、视图、触发器、索引和锁的基本知识

使用视图和使用的方式是一样的。 视图同一级别,也属于数据库。...知识点-视图的CRUD 1.高山 掌握视图的CRUD操作 2.演绎 创建视图 修改视图 查看视图视图数据进行操作 解决视图数据操作影响的问题 删除视图 3.攀登 3.1 创建视图 视图可以从各式各样的查询语句中创建...,视图可以引用或者其它视图进行创建。...注意: 视图共享数据库中相同的名称空间,视图名不能和名相同。 注意:视图创建语句中的select语句不能将子查询作为来使用。...3.5 解决视图数据操作影响的问题 对视图数据的操作影响了,如何来解决这个问题呢? 我们可以在创建视图的时候指定检查方式,从而禁止修改

1K10

MyCat10——分片技术之ER

join 查询时,数据库1仅能在分片后的数据中进行查询数据库2因为没有找到 order_details 而返回空,那么整个查询结果将是实际结果的一个子集。...1146 (42S02): Table 'orders.order_details' doesn't exist因为在数据库2中并不存在 order_details 。...因此,需要先在数据库2中创建 order_details 。3.4 在mycat中重新查询进入到mycat数据端口,重新执行1中的查询。所有记录都能被查询出来。...3.5 插入数据向 order_details 中插入几条记录insert into order_details(detail, order_id) values("details001", 1);insert...find (root) parent sharding node for sql3.6 数据查询分别进入各数据库分片进行查询,可以发现子表中,与父关联的数据,被存储于同一个数据库分片中。

23410

PHP的PDO错误与错误处理

如果错误是由于对语句对象的调用而产生的,那么可以调用那个对象的PDOStatement::errorCode() PDOStatement::errorInfo()方法。...如果错误是由于调用数据库对象而产生的,那么可以在数据库对象上调用上述两个方法。 PDO::ERRMODE_WARNING 除设置错误码之外,PDO还将发出一条传统的E_WARNING信息。...异常模式另一个非常有用的是,相比传统 PHP风格的警告,可以更清晰地构建自己的错误处理,而且比起静默模式和显式地检查每种数据库调用的返回值,异常模式需要的代码/嵌套更少。...$e- getMessage(); exit; } // 这里将导致 PDO 抛出一个 E_WARNING 级别的错误,而不是 一个异常 (当数据不存在时) $dbh- query("SELECT...以上例程会输出: Warning: PDO::query(): SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘test.wrongtable

2.6K30

Mysql视图

1.初识视图 1.视图的概念和作用 什么是视图:是从一个多个中导出来的,它是一种虚拟存在的的结构和数据都依赖于基本。 作用: 简化查询语句:简化用户的查询操作,使查询更加快捷。...TEMPTABLE:先将select_statement的查询结果存入临时,然后用 临时进行查询。 DEFINER:可选,表示定义视图的用户,与安全控制有关,默认为当前用户。...(默认与SELECT语句查询的列相同) AS:表示视图要执行的操作。 select_statement:一个完整的查询语句,表示从某些视图中查出某些满足条件的记录,将这些记录导入视图中。...SELECT * FROM view_goods; ERROR 1146 (42S02) : Table 'shop. view_ goods' doesn't exist 3.视图数据操作 1.添加数据...使用INSERT语句通过视图向基本添加数据 #创建视图 mysql> CREATE VIEW view_ category AS -> SELECT id, name FROM sh_goods_category

2.4K10

《MySQL核心知识》第11章:视图

,其他的信息为NULL说明这是一个虚,如果是那么会的信息,这是视图的区别 SHOW CREATE VIEW语句查看视图详细信息 SHOW CREATE VIEW stu_class View...VIEWS存储了关于数据库中的视图的信息 通过对VIEWS查询可以查看数据库中所有视图的详细信息 SELECT * FROM `information_schema`....stu_class 修改视图 修改视图是指修改数据库中存在的视图,当基本的某些字段发生变化时,可以通过修改视图来保持与基本的一致性。...通过视图更新的时候都是转到进行更新,如果对视图增加或者删除记录,实际上是对增加删除记录 我们先修改一下视图定义 ALTER VIEW stu_class AS SELECT stuno,stuname...FROM student; 查询视图数据 UPDATE UPDATE stu_class SET stuname='xiaofang' WHERE stuno=2; 查询视图数据 更新成功 INSERT

38020
领券