在$sql = $pdo -> prepare("insert into users(gold,user,password) values(?,?,?)");条语句我们不仅仅可以使用问号这个替代符之外还可以使用

:名称

也就是

$sql = $pdo -> prepare("insert into users(gold,user,password) values(:gold,:user,:password)");

所以在写绑定变量(bindparam)的时候可以那么写:

    $sql = $pdo ->prepare("insert into users(gold,user,password) values(:gold,:users,:password)");
$sql ->bindparam(:gold,$gold);//绑定给$gold变量。第一个参数的冒号可去除。 $sql ->bindparam(:user,$users); $sql ->bindparam(:password,$password) $gold = 12; $users ="aaaaaaa"; $password = "bbbbbbbbb";

使用问号的时候可以相当于索引数组,最大的麻烦就是必须要有数字,每次都需要有数字,在重新插入的时候就很麻烦。

但是我们可以那么做,直接在execute中输出这些数组。

比如问号的时候(即索引数组):

$sql -> execute(array(1,"admin","123465"));

再者冒号的时候(即关联数组):

$sql -> execute(array(":gold"=>"1",":user"=>"admin",":password"=>"123456"));

DEMO: 

<?php 
try{
    $pdo = new pdo("mysql:host=localhost;dbname=test","root","");
}catch(PDOException $e){
    echo $e ->getmessage();
    exit;
}
    echo "PDO对象创建成功.<br />";
try {
    $sql = $pdo ->prepare("insert into users(gold,user,password) values(:gold,:user,:password)");
    $sql -> execute(array(":gold"=>"1","user"=>"admin",":password"=>"123456"));

} catch (Exception $e) {
    echo $e->getmessage();
    exit;
}
    echo "sql语句执行成功。";

 ?>
View Code

相关文章:

  • 2022-01-14
  • 2021-11-02
  • 2021-09-15
  • 2022-01-27
  • 2022-12-23
  • 2021-07-20
  • 2022-12-23
猜你喜欢
  • 2021-07-15
  • 2021-07-02
  • 2021-06-07
  • 2022-01-29
  • 2021-12-06
  • 2022-01-10
相关资源
相似解决方案