php 开发人员创建函数 bind_result 的意义何在,因为 get_result 似乎也能正常工作。
if($stmt=$mysqli->prepare("SELECT member_ID FROM members where hair=? and hand=?")){
if($stmt->bind_param('ss',$hair,$hand)){
if($stmt->execute){
$result=$stmt->get_result();
while($line=$result->fetch_assoc()){
echo $line['member_ID'];
}
// ------------ versus -------------------
// $stmt->store_result();
// $stmt->bind_result($member_ID);
// while($stmt->fetch()){
// echo $member_ID;
// }
}
}
}
似乎(我猜)php 开发人员自己更喜欢 $stmt->fetch()
因为这个函数出现得更早,但为什么 $stmt->fetch()
?这似乎不是 $row['member_ID']
和 $member_ID
之间变量名不同的原因。
最佳答案
一些程序员喜欢将关联数组的每个元素分配给一个常规变量,这样他们就可以不那么冗长地使用它们。使用 bind_result
会自动为您完成此操作,您不必每次都在获取循环中重复它。
这基本上只是一种风格选择。恕我直言,bind_result
的主要问题是您必须确保参数的顺序与 select
列表保持同步。 bind_param
也是如此(这就是为什么 PDO 允许 :name
参数来解决这个问题),但好处多于它。
关于php - mysqli get_result 和 bind_result 之间的性能或安全差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18283960/