PHP中的PDO,如何改进这个PDO mysql代码
发布时间:2020-12-13 22:00:01 所属栏目:PHP教程 来源:网络整理
导读:谢谢你检查.所有有用的答案/评论都已经过投票. 我有以下代码,它完成了这项工作,但是imo效率不高.我认为它效率不高的原因是因为我使用fetchAll循环,即使我知道查询将返回1或没有记录. //assume the usual new PDO,binding,and execute are up here$myval = "s
谢谢你检查.所有有用的答案/评论都已经过投票.
我有以下代码,它完成了这项工作,但是imo效率不高.我认为它效率不高的原因是因为我使用fetchAll循环,即使我知道查询将返回1或没有记录. //assume the usual new PDO,binding,and execute are up here $myval = "somevalue"; $res = $stmt->fetchAll(PDO::FETCH_ASSOC); if (!$res) { //no record matches //BLOCK A CODE HERE } else { //found matching record (but always going to be 1 record,no more) foreach($res as $row) { if ($myval == $row['val']){ //myval is the same as db //BLOCK B CODE HERE } else { //myval is different from db //BLOCK C CODE HERE } }//foreach } 如何改进它以消除foreach和fetchAll的庞大外观(考虑到我知道它总是只有1或0记录)?但是我仍然需要类似的检查点,所以我可以执行相同的BLOCK A BLOCK B BLOCK C,因为我当前的逻辑需要它. 解决方法$myval = "somevalue"; $row = $stmt->fetch(PDO::FETCH_ASSOC); if (!$row) { //no record matches //BLOCK A CODE HERE } else if ($myval == $row['val']) { //myval is the same as db //BLOCK B CODE HERE } else { //myval is different from db //BLOCK C CODE HERE } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |