php - 插入带有\"%s\错误的值 MYSQL PHP

标签 php mysql insert

我想使用 php 将数组插入到 mysql 数据库..

现在我收到此代码的错误:

$insert_sql = sprintf("INSERT INTO detail_paket (id_paket, menu_paket) select
 paket.id,\'%s\' from paket where paket.nama_paket='$nama_paket'",%data1[$i]);
            ^
            |   
   here is the error syntax

data1 是数组..

使用 \'%s\' 的正确语法是什么?

当我尝试运行查询时,错误信息显示:语法错误,意外的“%” 语法错误意外” “在*中。

我已经尝试使用\"%s\和\"%s"\以及 %s 和 '%s' 以及 "%s"和\"%s\"但查询仍然给我错误..

最后一个问题,这个“%s”语法叫什么?

谢谢...

教程中的原始查询

$insert_sql = sprintf("INSERT INTO student (first_name, last_name) VALUES(\"%s\",\"%s\")",
      $student_record[$i][0], $student_record[$i][1]);

最佳答案

删除%两边的引号,并将data1%前缀更改为$:

$insert_sql = sprintf("INSERT INTO detail_paket (id_paket, menu_paket) select paket.id,%s from paket where paket.nama_paket='$nama_paket'",$data1[$i]);

另一个问题是您需要使用 ; 分隔两个查询。这不适用于所有 MySQL API,并非所有 API 都允许多个查询。您可能需要运行两个查询而不是单个多个查询。

关于php - 插入带有\"%s\错误的值 MYSQL PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13580081/

相关文章:

php - 如何通过连接两个表而不重叠具有相同关系 ID 的记录来创建 TableView

php - 如何将日期时间拆分为多个部分以用于重复行

php - SQL 语法向我发送错误

mysql - 如何从mysql中的存储过程中插入带@的电子邮件ID字段?

php - 如何使用 php 将多行数据插入到 mysql 表中?

php - BadMethodCallException - 调用未定义的方法 Illuminate\Database\Query\Builder::getAuthIdentifierName()

php - Web 服务器上的嵌套算术 MySQL 查询问题

mysql - 在mysql中创建临时表的存储过程

mysql - 将创建时间,修改时间列添加到mysql中的现有表

php - 使用 LEFT JOIN 通过 Form 插入 MySQL