首页 > 代码库 > 跟着百度学PHP[14]-PDO的预处理语句2
跟着百度学PHP[14]-PDO的预处理语句2
在$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语句执行成功。"; ?>
输出效果如下图:
但其实这些都还不是最简单的。
我们可以这样:
$sql -> execute(array($_GET[‘id‘]));
CODE:
<?php header("Content-type: text/html; charset=utf-8");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($_GET);} catch (PDOException $e) { echo $e->getmessage(); exit;} echo "sql语句执行成功。"; ?>
URL:http://127.0.0.1/x.php?gold=2&user=def&password=6666
如此是不是比之前mysql的执行的更加的简单呢?
跟着百度学PHP[14]-PDO的预处理语句2
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。