php - MySQL 中的多查询支持?

标签 php mysql syntax

我在网上搜索了很长时间,没有找到解决办法。我正在尝试插入一个表,获取记录的 ID 并在另一个表中插入 x 次。 我的代码是

$first = true;
$sql  = 'INSERT INTO
`pf_employees` (firstname, surname, `occupationGroup`, birthday, image)
VALUES ("'.$name.'", NULL, NULL, NULL, NULL)';
$sql .= 'INSERT INTO `pf_roster_employees` (weekID, dayID, employeeID) VALUES ';
foreach($days as $temp) {
    if(!$first)
        $sql .= ', ';
    $sql .= '("'.$weekID.'", "'.$temp.'", last_insert_id())';
    $first = false;
}
$result = $config['database']->query($sql);

结果是这样的: [...] 插入 pf_roster_employees (weekID, dayID, employeeID) VALUES ("1", "1", last_insert_id()), ("1", "4", last_insert_id()), ("1 ", "5", last_insert_id())

解释器说 您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在 'INSERT INTOpf_roster_employees(weekID, dayID, employeeID) VALUES ("1", "1", ' at line 1

有没有更方便的方法来复制第二个查询?我的意思是,SQL 比 PHP 快得多,当然,我对使用这种肮脏的代码感到非常羞愧。

谢谢。

最佳答案

你忘记了 ; 在这里用于分隔 sql 查询

 NULL, NULL, NULL)';
                 ^

NULL, NULL, NULL);';

同样使用mysqli_*,它支持在一条语句中运行多个查询。

关于php - MySQL 中的多查询支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17269245/

相关文章:

php - 使用一张表将不同的 MIME 类型上传到数据库

sql - 如何在 SQL 中排序,忽略文章 ('the"、 "a'、 "an"等)

java - MySQL在Tomcat中的最佳用法?

scala - = 和 := in Scala? 之间有什么区别

带有函数的 Javascript 语法

找不到 PHP 5.4 和 Laravel 类 'Memcached'

php - 如何在 Laravel 5.5 中扩展供应商包服务提供者

php - 在函数调用后定义数组索引

c# - 找不到 OdbcConnection DataName 和 DataSource

java - 为什么 Java 接口(interface)在文档中有描述