准备好的语句添加了大量的代码...但我不断听到有人提到使用它们...从 1 行代码增加到大约 6 行代码会增加什么价值?这只是为了防止 SQL 注入吗?
php.net 关于准备好的语句here http://php.net/manual/en/mysqli.prepare.php
准备好的语句可以很好地防止 SQL 注入。
除了 SQL 注入保护之外,当多次执行相同的查询时(例如在一个查询中),准备好的语句还可以减少数据库服务器上的负载。INSERT
环形。该语句仅由 RDBMS 编译一次,而不是像在mysql_query()
call.
不同的 API 需要不同数量的代码来执行准备好的语句。我发现 PDO 可能比 MySQLi 稍微简洁一些,例如,如果您的情况允许在execute()
称呼。只有当所有参数都可以被评估为字符串时,这才有效。
// PDO implicit binding example:
// Not many lines of code if the situation allows for it
$stmt = $pdo->prepare("SELECT * FROM tbl WHERE col1=? AND col2=? AND col3=?");
$stmt->execute(array($val1, $val2, $val3));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)