有没有办法在PHP中进行mysql_insert_into(“tablename”,$ arrayofvariables)等SQL查询?

时间:2011-10-23 21:44:53

标签: php mysql sql

我想知道是否有这样的框架。

mysql_insert_into("tablename",$arrayofvariables)

3 个答案:

答案 0 :(得分:2)

示例代码和说明并不完整,但如果您的意思是$arrayofvariables包含要作为行插入的值,按位置或名称编制索引,则PDOStatement::execute可以采用数组:

$query = $db->prepare('INSERT INTO `table` (foo, baz, bam) VALUES (?, ?, ?) ');
$query->execute(array('bar', 42, 'bug-AWWK'));

$query = $db->prepare('INSERT INTO `table` (foo, baz, bam) VALUES (:foo, :baz, :bam) ');
$query->execute(array(':foo' => 'bar', ':baz' => 42, ':bam' => 'bug-AWWK'));

答案 1 :(得分:0)

如评论中所述,请参阅例如Zend_Db的。 This is the relevant documentation。 Zend_Db并不完全是轻量级的。

答案 2 :(得分:0)

使用它将数据整齐地插入到mysql表中:

<?php
function mysql_insert($table, $inserts) {
    $values = array_map('mysql_real_escape_string', array_values($inserts));
    $keys = array_keys($inserts);

    return mysql_query('INSERT INTO `'.$table.'` (`'.implode('`,`', $keys).'`) VALUES (\''.implode('\',\'', $values).'\')');
}
?>

For example:

<?php

mysql_insert('cars', array(
    'make' => 'Aston Martin',
    'model' => 'DB9',
    'year' => '2009',
));
?>

还有一个名为dbFacile的库可以完全执行此操作,但需要创建一个db对象。