如何原数据和被修改数据一致的话,rowCount()影响的行数也是0呀,所以您上面的方法不对
时间: 2024-02-25 07:59:24 浏览: 20
非常感谢您的指正,您说得对,如果更新的数据与原数据相同,则 rowCount() 方法返回的受影响行数为 0,因此不能仅依靠 rowCount() 方法来判断 UPDATE 语句是否执行成功。
在 PDO 中,可以使用 `errorInfo()` 方法获取最后一次执行的 SQL 语句的错误码、错误信息和驱动特定的错误信息,如果错误码为 00000,则表示执行 UPDATE 语句成功,否则表示执行 UPDATE 语句失败。
示例代码如下:
```php
$stmt = $pdo->prepare("UPDATE table SET column1 = :value1 WHERE id = :id");
$stmt->bindValue(':value1', $value1);
$stmt->bindValue(':id', $id);
$result = $stmt->execute();
$errorInfo = $stmt->errorInfo();
if ($errorInfo[0] === '00000') {
echo "Update successfully!";
} else {
echo "Update failed!";
}
```
也可以使用 try-catch 语句来捕获异常,如果执行 UPDATE 语句发生异常,则表示执行 UPDATE 语句失败。
示例代码如下:
```php
try {
$stmt = $pdo->prepare("UPDATE table SET column1 = :value1 WHERE id = :id");
$stmt->bindValue(':value1', $value1);
$stmt->bindValue(':id', $id);
$result = $stmt->execute();
echo "Update successfully!";
} catch (PDOException $e) {
echo "Update failed!";
}
```
再次感谢您的指正,希望能够帮助到您。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)