MYSQL带?语句,传int参数

做一个更新表接口,调用封装好的表更新函数
function update($sql='',$param=array()){

  ...
    $sth = self::$dbo->prepare($sql);
    try{
        $lrows = $sth->execute($param);
    ....

}

这个我传入的$sql,$param
$sql = 'UPDATE t1 SET age = ? where id = ?';
$param = array(18,1);

打印数据库执行的语句是:UPDATE t1 SET age ="18" where id = "1" //语句1
我想知道数字带""会不会影响执行效率,
UPDATE t1 SET age =18 where id = 1 //语句2
即语句1和语句2有没有效率差别?如果有,我传数值的时候该怎么传?
感谢。

阅读 2.2k
1 个回答

不会影响执行效率,mysql会根据字段类型对查询条件做隐式转换,可以命中索引。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题