【问题标题】:How do i implement 'INSERT' using PHP PDO我如何使用 PHP PDO 实现“插入”
【发布时间】:2012-06-29 21:20:38
【问题描述】:

使用PHP的PDO和prepared statements,我如何实现以下?

$sql = 'insert into $tablename ($var1, $var2, $var3, ...) VALUES (:placeholder1, :placeholder2, ...)';

谢谢。

【问题讨论】:

  • 如果您的意思是要插入到具有动态选择列的动态选择表中,则必须通过将变量连接在一起来构建表和列。您不能对它们使用占位符(尽管您可以在VALUES 中使用它们)。建议检查可能的表名的白名单。
  • @Michael 清单或反射 API 或 ORM。
  • 6 个问题,9 个答案,0 个接受。请看How does accepting an answer work?

标签: php mysql pdo


【解决方案1】:

这是一种方法:

$sth = $dbh->prepare('INSERT INTO '.$tablename.' ('.implode(',', array_keys($inserting)).') VALUES ('.str_pad('', count($inserting)*2-1, '?,').')');
$sth->execute(array_values($inserting));

其中$tablename 是表的名称,$inserting 是关联数组,其中键是列名,数组的值是要插入的值。

【讨论】:

    猜你喜欢
    • 2014-05-06
    • 2013-08-20
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 2014-12-11
    • 2015-04-29
    • 2013-02-25
    • 2015-02-28
    相关资源
    最近更新 更多