PDO如何判断INSERT语句是否执行成功
时间: 2023-09-07 14:12:51 浏览: 69
在PDO中,可以使用`rowCount()`方法来获取最后一次执行INSERT语句所影响的行数。如果返回的行数大于0,则表示插入成功;如果返回的行数为0,则表示插入失败。另外,如果插入失败,还可以使用`errorInfo()`方法获取失败的原因。示例代码如下:
```php
$sql = "INSERT INTO table_name (column1, column2, column3) VALUES (:value1, :value2, :value3)";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':value1', $value1);
$stmt->bindParam(':value2', $value2);
$stmt->bindParam(':value3', $value3);
$stmt->execute();
if ($stmt->rowCount() > 0) {
echo "Insert success!";
} else {
$error = $stmt->errorInfo();
echo "Insert failed: " . $error[2];
}
```
相关问题
PDO中query()执行SQL语句后成功和失败分别返回什么
在PDO中,query()执行SQL语句后成功返回一个PDOStatement对象,该对象可以用于获取返回的结果集。如果执行失败,则返回FALSE。可以通过调用PDO对象的errorInfo()方法获取详细的错误信息。需要注意的是,query()方法只适用于执行返回结果集的SQL语句,例如SELECT等操作。如果要执行INSERT、UPDATE、DELETE等没有返回结果集的SQL语句,应该使用exec()方法。
PDO中exec()执行SQL语句后成功和失败分别返回什么
在PDO中,exec()执行SQL语句后成功返回受影响的行数,失败返回FALSE。可以通过调用PDO对象的errorInfo()方法获取详细的错误信息。需要注意的是,exec()方法只适用于执行没有返回结果集的SQL语句,例如INSERT、UPDATE、DELETE等操作。如果要执行SELECT等返回结果集的SQL语句,应该使用query()方法。