PDO中exec()执行SQL语句后成功和失败分别返回什么
时间: 2024-02-29 20:54:54 浏览: 17
在PDO中,exec()执行SQL语句后成功返回受影响的行数,失败返回FALSE。可以通过调用PDO对象的errorInfo()方法获取详细的错误信息。需要注意的是,exec()方法只适用于执行没有返回结果集的SQL语句,例如INSERT、UPDATE、DELETE等操作。如果要执行SELECT等返回结果集的SQL语句,应该使用query()方法。
相关问题
PDO中query()执行SQL语句后成功和失败分别返回什么
在PDO中,query()执行SQL语句后成功返回一个PDOStatement对象,该对象可以用于获取返回的结果集。如果执行失败,则返回FALSE。可以通过调用PDO对象的errorInfo()方法获取详细的错误信息。需要注意的是,query()方法只适用于执行返回结果集的SQL语句,例如SELECT等操作。如果要执行INSERT、UPDATE、DELETE等没有返回结果集的SQL语句,应该使用exec()方法。
<?php $pdo = new PDO("mysql:host=localhost;port=3306;dbname=db",'root','123456'); $sql = 'delete * from student where sex = "男"'; $pdo.exec($sql); ?>
在你的代码中有一个错误,`delete`语句后面不应该跟着`*`,正确的语法是`delete from 表名`。所以你需要修改你的SQL语句为:
```php
$sql = 'delete from student where sex = "男"';
```
此外,`exec()`方法是PDO对象的方法,所以你需要使用PDO对象来调用它,而不是直接使用`$pdo`。将代码修改为以下内容:
```php
$pdo = new PDO("mysql:host=localhost;port=3306;dbname=db",'root','123456');
$sql = 'delete from student where sex = "男"';
$pdo->exec($sql);
```
这样就可以正确的执行删除语句了。