有人告诉我 rowCount 不安全,所以我想在这里问它,我有 2 个例子,想知道检查某些东西是否存在的最安全和最好的方法是什么?
$sql = "SELECT count(*) FROM users WHERE username = 'administrator'";
$result = $db->prepare($sql);
$result->execute();
echo $result->fetchColumn() ? 'true' : 'false';
or
$sql = "SELECT username FROM users WHERE username = ?";
$result = $db->prepare($sql);
$result->execute(array('administrator'));
echo $result->rowCount() ? 'true' : 'false';
最好的检查方法是prepare
and fetchColumn
具有与您预期相同的谓词的 SELECT COUNT(*) 语句
SELECT 语句,然后使用PDOStatement::fetchColumn()检索
将返回的行数。
$sql = "SELECT COUNT(*) FROM users WHERE username = ?";// use `COUNT(*)`
$result = $db->prepare($sql);
$result->execute(array('administrator'));
echo $result->fetchColumn() ? 'true' : 'false';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)