Press "Enter" to skip to content

PDOStatement::bindParam的一个陷阱

废话不多说, 直接看代码:

  1. <?php
  2. $dbh = new PDO('mysql:host=localhost;dbname=test', "test");
  3. $query = <<<query
  4.   INSERT INTO `user` (`username`, `password`) VALUES (:username, :password);
  5. QUERY;
  6. $statement = $dbh->prepare($query);
  7. $bind_params = array(':username' => "laruence", ':password' => "weibo");
  8. foreach( $bind_params as $key => $value ){
  9.     $statement->bindParam($key, $value);
  10. }
  11. $statement->execute();

请问, 最终执行的SQL语句是什么, 上面的代码是否有什么问题?

Filed in PHP应用, PHP源码分析
with 80 Comments