2011-10-23 89 views
1

我想知道是否有像這樣的框架。

mysql_insert_into("tablename",$arrayofvariables) 
+0

你可以看看Zend_Db http://framework.zend.com/manual/en/zend.db.html –

+0

我認爲所有的框架都可以做到這一點。無論如何,Zend Framework肯定會允許它。 –

+0

哪裏?手冊不顯示這樣的東西。它有適配器,而不是使用那個適配器,我會自己編寫查詢。框架不一定節省時間。 –

回答

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庫,這是否準確,但需要建立一個數據庫對象。

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')); 
+0

,與我所查找的類似,但準備語句的時間比普通的mysql_query要長。不管怎樣,謝謝你。也許沒有像我說的方法。 –

+0

@UğurGümüşhan:當我測試它們時,一個'PDO :: prepare'和'PDO :: execute'或'mysqli :: prepare'和'mysqli :: execute'花費了大約與mysql_query'相同的時間。多次執行相同的預處理語句,這是準備好的語句被設計爲更高性能的地方,比重複執行mysql_query花費的時間少了*時間。當你有不同數據的陳述或多次執行查詢時,準備好的陳述是適當的。至於你提到的,沒有足夠的知道你在找什麼。 – outis

相關問題