执行PDO语句的更好方法

时间:2015-04-23 11:42:25

标签: php mysql pdo

我目前正在以这种方式更新我的数据库

FromConfig

这是正确的程序吗?有什么改进建议吗?在PHP手册中,他们编写了这样的准备语句

$db = new PDO('mysql:host=localhost;dbname=database;charset=utf8', 'username', 'password');
$updo = $db->prepare("UPDATE table SET weight = :weight WHERE height = 28");
$updo->execute(array(':weight' => $weight));

这个额外的阵列使我困惑。我是第一次使用PDO,所以想清理一下。

1 个答案:

答案 0 :(得分:0)

您的方法可行,但默认以字符串形式转义绑定参数。我认为最佳做法是使用bindParam来指定$weight应该是一个整数,如下所示:

$db = new PDO('mysql:host=localhost;dbname=database;charset=utf8', 'username', 'password');
$updo = $db->prepare("UPDATE table SET weight = :weight WHERE height = 28");
$updo->bindParam(':weight', $weight, PDO::PARAM_INT);
$updo->execute();