有没有办法让像mysql这样的SQL查询插入PHP中的(";tablename";,$arrayofvariables)中?
我想知道是否有这样的框架有没有办法让像mysql这样的SQL查询插入PHP中的(";tablename";,$arrayofvariables)中?,php,mysql,sql,Php,Mysql,Sql,我想知道是否有这样的框架 mysql_insert_into("tablename",$arrayofvariables) 如评论中所述,参见Zend_Db等。Zend_Db并不是完全轻量级的。示例代码和描述并不完全完整,但如果您的意思是$arrayofvariables包含要插入为行的值,按位置或名称索引,则可以采用数组: $query = $db->prepare('INSERT INTO `table` (foo, baz, bam) VALUES (?, ?, ?) '); $q
mysql_insert_into("tablename",$arrayofvariables)
如评论中所述,参见Zend_Db等。Zend_Db并不是完全轻量级的。示例代码和描述并不完全完整,但如果您的意思是
$arrayofvariables
包含要插入为行的值,按位置或名称索引,则可以采用数组:
$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'));
使用此选项将数据整齐地插入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',
));
?>
例如:
还有一个名为的库,它确实可以做到这一点,但需要创建一个db对象。您可以查看Zend_db,我认为所有框架都可以做到这一点。无论如何,Zend框架肯定允许它。在哪里?手册上没有显示类似的内容。它有一个适配器,但我不使用该适配器,而是自己编写查询。框架不一定能节省时间。这个问题写得很含糊。代码示例究竟应该做什么?想要的行为是什么?
$arrayofvariables
的格式是什么?无论数组大小如何,都将变量插入表中与我查找的类似,但准备语句所需的时间比常见的mysql\u查询要长。无论如何,谢谢你。也许没有我想要的方法。@UğurGümüşhan:当我测试它们时,一个PDO::prepare
和PDO::execute
或mysqli::prepare
和mysqli::execute
与mysql\U查询的时间差不多。多次执行同一条准备好的语句(准备好的语句被设计为性能更好)比重复执行mysql\u query
花费的时间更少。当您有一个包含不同数据的语句,或者多次执行查询时,准备语句是正确的做法。至于你所提到的,还不足以知道你在找什么。