-4
使用PHP的PDO和预处理语句,我该如何实现以下内容?如何使用PHP PDO实现'INSERT'
$sql = 'insert into $tablename ($var1, $var2, $var3, ...) VALUES (:placeholder1, :placeholder2, ...)';
谢谢。
使用PHP的PDO和预处理语句,我该如何实现以下内容?如何使用PHP PDO实现'INSERT'
$sql = 'insert into $tablename ($var1, $var2, $var3, ...) VALUES (:placeholder1, :placeholder2, ...)';
谢谢。
下面是做到这一点的一种方法:
$sth = $dbh->prepare('INSERT INTO '.$tablename.' ('.implode(',', array_keys($inserting)).') VALUES ('.str_pad('', count($inserting)*2-1, '?,').')');
$sth->execute(array_values($inserting));
哪里$tablename
是表的名称和$inserting
是一个关联数组键作为列的名称和数组是值的值插入。
如果您的意思是您想要插入到动态选择的列的动态选择表中,则必须通过将变量连接在一起来构建表和列。你不能使用占位符(尽管你可以在'VALUES'中使用它们)。建议检查可能的表名称的白名单。 –
@Michael检查表或反射API或ORMs。 –
6个问题,9个答案,0个接受。请参阅[如何接受答案的工作?](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) – DaveRandom