我想使用php将阵列插入mysql db。

现在我收到此代码错误:

$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/

10-12 13:19