其他人已经问过这个问题了,但我的问题有点具体.
我有这个问题:
$sql = "UPDATE table SET option=? WHERE number=?";
$q = $conn->prepare($sql);
$q->execute(array($option, $number));
$q->setFetchMode(PDO::FETCH_BOTH);
echo $q->rowCount();
Run Code Online (Sandbox Code Playgroud)
如果WHERE number已经存在且SET option相同,则$q->rowCount()等于0
如果WHERE number不存在且行未更新,$q->rowCount()则为equals0
如何区分这些非更新?
在最近的PHP版本中,它由PDO::MYSQL_ATTR_FOUND_ROWS属性控制.设置为true,根据文档,效果是:
Run Code Online (Sandbox Code Playgroud)Return the number of found (matched) rows, not the number of changed rows.
| 归档时间: |
|
| 查看次数: |
1763 次 |
| 最近记录: |