你应该像这样使用它
<?php$dbhost = 'localhost';$dbname = 'pdo';$dbusername = 'root';$dbpassword = '845625';$link = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbusername, $dbpassword);$statement = $link->prepare('INSERT INTO testtable (name, lastname, age) VALUES (:fname, :sname, :age)');$statement->execute([ 'fname' => 'Bob', 'sname' => 'Desaunois', 'age' => '18',]);准备的语句用于清理您的输入,并且您可以在SQL中使用这些语句
:foo而无需 任何单引号来 绑定
变量,然后在
execute()函数中传递在SQL语句中定义的变量的关联数组。
您也可以使用
?代替,
:foo然后像这样传递仅输入值的数组;
$statement = $link->prepare('INSERT INTO testtable (name, lastname, age) VALUES (?, ?, ?)');$statement->execute(['Bob', 'Desaunois', '18']);两种方式都有其优点和缺点。我个人更喜欢绑定参数名称,因为它更易于阅读。


![通过准备好的语句使用INSERT INTO进行PDO [关闭] 通过准备好的语句使用INSERT INTO进行PDO [关闭]](http://www.mshxw.com/aiimages/31/415221.png)
