【问题标题】:insert into multiple rows PDO插入多行 PDO
【发布时间】:2019-02-17 10:08:04
【问题描述】:

我正在努力将代码插入多行。

但最终收到警告

$rows = array(1,2,3,4,5,6)

$stmt = $connect->prepare("INSERT INTO t_worker_history (uid) VALUES (?)");
foreach($rows as $insert) {
    $stmt->execute($insert);
}

警告:PDOStatement::execute() 期望参数 1 是数组,字符串在

【问题讨论】:

    标签: php pdo


    【解决方案1】:

    正如消息所说,第一个参数需要是一个数组,所以只需将$insert的值放入一个:

    $stmt->execute(array($insert));
    

    请参阅manual。参数需要为数组的原因是允许将多个参数绑定到占位符。

    【讨论】:

    • 警告消失了,可以插入了。但只插入一行。我必须插入三行。请帮忙。提前致谢
    • 您应该检查execute 的返回状态。试试$stmt->execute(array($insert)) or die($stmt->errorInfo());
    • 根据您的代码,您应该插入 6 行。如果你 echo $insert; 在循环中,你会得到什么?
    • 我在循环中得到了 1,2,3,4,5,6,
    • 好吧,如果查询没有失败并且没有重复值,您应该在表中获得 6 个值...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 2014-08-12
    • 2012-09-16
    • 2014-08-08
    相关资源
    最近更新 更多