程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么PDO不允许多个同名占位符?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决为什么PDO不允许多个同名占位符??

开发过程中遇到为什么PDO不允许多个同名占位符?的问题如何解决?下面主要结合日常开发的经验,给出你关于为什么PDO不允许多个同名占位符?的解决方法建议,希望对你解决为什么PDO不允许多个同名占位符?有所启发或帮助;

就在这里。您可以打开仿真模式,并且可以多次使用相同的占位符。

因此,仅在关闭仿真时才能观察到所描述的行为。我真的不明白为什么会这样,但是这是Wez Furlong(PDO作者)的解释:

解决方法

我使用的是PHP,而MySQL使用的是PDO。有时我需要准备一个在此查询中多次使用一个变量(占位符)的语句。

例:

SELECT * FROM messages WHERE from_id = :user OR to_id = :user

但是,如果我尝试准备该语句,则会出现错误,因此我需要采用以下方式:

SELECT * FROM messages WHERE from_id = :user1 OR to_id = :user2

要调用此语句,我将需要具有以下数组:

array('user1'=>$user_id,'user2'=>$user_id);

对我来说真是太蠢了!为什么MySQL(PDO?)不允许我多次使用一个占位符,并迫使我使用需要更多控制权的额外变量?

如果查询相对简单(如我在上面发布的内容),则可以轻松处理,但是现在我使用单个变量的5(!!!)个用法构建了查询。每次添加占位符时,都需要在许多地方检查代码以使其正常。

有任何设置或调整可以绕过此设置吗?

大佬总结

以上是大佬教程为你收集整理的为什么PDO不允许多个同名占位符?全部内容,希望文章能够帮你解决为什么PDO不允许多个同名占位符?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: