开发者社区> 问答> 正文

通过准备好的语句使用INSERT INTO进行PDO

在穿越PHP:数据对象的丛林中,我遇到了通过准备好的语句执行MySQL查询的问题。

观察以下代码:

$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('Bob','Desaunois','18')");

$statement->execute();

这就是我,我想进入我的数据库。但是我一直迷路在..好吧..我不知道!根据谷歌,这是做到这一点的方法,尽管我的数据库仍然是空的。

我在这里想念什么吗?因为我已经被困了一个小时,所以我想继续学习PDO!

展开
收起
保持可爱mmm 2020-05-13 13:59:31 385 0
1 条回答
写回答
取消 提交回答
  • 你应该像这样使用它

    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']); 两种方式都有其优点和缺点。我个人更喜欢绑定参数名称,因为它更易于阅读。 来源:stack overflow
    2020-05-13 13:59:39
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载