[英]parameterized query without preparing statement in PHP
MySQLi、PDO 或 Z2FEC392304A5C23AC138DA2284 中是否有 API 或在 Z2FEC392304A5C23AC138DA228C 中准备召回该参数? 当我们不调用SQLParameter 的 .Prepare()方法时,我在 ADO.NET 中找到了它,但在 PHP 中没有找到它。
准备好的语句与查询分离的值一起发送到数据库服务器。 如果您想获取 ID 为 1337 的用户,请使用PDO执行此操作;
$sql = 'SELECT u.id, u.username FROM users u WHERE u.id = :theUserIdToGet LIMIT 1';
$stmt = $db->prepare($sql);
$stmt->bindValue(':theUserIdToGet', 1337);
$result = $stmt->fetch();
在传统查询中,这只是;
$sql = 'SELECT u.id, u.username FROM users u WHERE u.id = ' . 1337 . ' LIMIT 1';
$stmt = $db->query($sql);
$result = $stmt->fetch();
第一个示例显然需要更多代码,但它具有以下优点;
将变量插入查询时应始终使用准备好的语句,因为它们的易读性和安全性。
PDO一般认为是很好的,我个人一直在用。 它的学习曲线很平缓,互联网上提供了许多教程。 它的文档在这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.