gpt4 book ai didi

php - 插入多个数据

转载 作者:行者123 更新时间:2023-11-29 01:45:51 25 4
gpt4 key购买 nike

我怎么做错了我想从数组中插入数据库数据:

$tabb = array(
'name' => 'test',
'login' => 'testt');

但我不能使用 SET,因为查询的结尾是 char , .

public function insert($table, $values){

if($this->database){
print_r($values);
$we = 'INSERT INTO '. $table .' SET ';
foreach($values as $value => $key) {
$we .= ' ('. $value .' = "'. $key .'") ';
}
print $we;
mysql_query($we);

}
return true;
}

我打印 $we:

INSERT INTO user SET (name = "test") (login = "testt")

不行,请帮忙PHP

最佳答案

我真的建议避免使用 SET。它远不常见,如果要在不常见的事物和常见的事物之间做出选择,请始终选择常见的事物——这意味着您的社区提供更广泛、更快和更好的支持。

如果没有它,您将如何解决该问题:

如果您的 USER 表中只有两列,您可以简单地使用 VALUES 后跟逗号分隔的数据集列表:

INSERT INTO user VALUES ("test","testt"),("test2","testt2")

您的函数看起来不像是为此而设计的,但了解任何一种方式都是一件好事。

但看起来您是按列名插入的(通常是个好主意):

INSERT INTO user (name, login) VALUES ("test","testt")

对于 PHP 这变成了:

$items = array_map('mysql_real_escape_string', $values);
$items = '(\'' . implode( '\',\'', $items ) . '\')';
$q = 'INSERT INTO '.
$table .
// using implode with array_keys assumes that you know all of the keys
// ahead of time. If you don't, I MUST suggest your re-think your code
// omit the following line if you want to follow the first SQL example
' (' . implode( ',', array_keys( $values ) . ') '.
' VALUES ' .
$items;

关于php - 插入多个数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7030375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com