-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