php – 为什么MySQLi库本身不支持命名参数?

前端之家收集整理的这篇文章主要介绍了php – 为什么MySQLi库本身不支持命名参数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
http://php.net/manual/en/mysqli.quickstart.prepared-statements.php开始正确的MysqLi参数化查询语法:
$stmt = $MysqLi->prepare("INSERT INTO test(id) VALUES (?)");
$stmt->bind_param("i",$id);

但从来没有像:

$stmt = $MysqLi->prepare("INSERT INTO test(id) VALUES (:id_value)");
$stmt->bind_param("i","id_value",$id);

在我看来,命名参数替换是在API级别实现的合理特性.我很惊讶MysqLi只在库中实现了未命名的参数.

有正当理由吗?对我来说没有意义,看看PDO,DQL,ORM如何在他们的查询中采用命名参数.

我希望MysqLi开发人员不会遇到“我们懒惰而且不想要”的情况.我相信一定有充分的理由,我正在寻找这个理由,或者寻找理由. MysqLi扩展库中未实现命名参数的原因.

MysqLi不支持命名参数,因为它的对应物PDO也支持.并且您使用当时最适合您需求的方法……

两者都是用PHP 5发布的(我相信PDO版本为5.3).

那么……你想要更快的执行时间?使用MysqLi.你想要命名参数吗?使用PDO.

您希望MysqLi使用客户端命名参数吗?好吧,现在你刚刚失去了更快的执行时间……我想你可以看到它的发展方向……

原文链接:https://www.f2er.com/php/137233.html

猜你在找的PHP相关文章