SQL INSERT WEIRD SYNIRX错误MYSQL来自PHP

时间:2017-12-29 06:05:21

标签: php mysql mariadb

我需要帮助来确定我的代码有什么问题。我有这样的代码

<?php 

include('./config/db.php');

if(isset($_POST['btnSubmit'])){

$p1 = mysqli_real_escape_string($db,$_POST['txtp1']);
$p2 = mysqli_real_escape_string($db,$_POST['txtp2']);
$p3 = mysqli_real_escape_string($db,$_POST['txtp3']);
$p4 = mysqli_real_escape_string($db,$_POST['txtp4']);
$p5 = mysqli_real_escape_string($db,$_POST['txtp5']);
$p6 = mysqli_real_escape_string($db,$_POST['txtp6']);
$p7 = mysqli_real_escape_string($db,$_POST['txtp7']);
$p8 = mysqli_real_escape_string($db,$_POST['txtp8']);
$p9 = mysqli_real_escape_string($db,$_POST['txtp9']);
$p10 = mysqli_real_escape_string($db,$_POST['txtp10']);
$p11 = mysqli_real_escape_string($db,$_POST['txtp11']);
$p12 = mysqli_real_escape_string($db,$_POST['txtp12']);
$p13 = mysqli_real_escape_string($db,$_POST['txtp13']);
$p14 = mysqli_real_escape_string($db,$_POST['txtp14']);
$p15 = mysqli_real_escape_string($db,$_POST['txtp15']);
$p16 = mysqli_real_escape_string($db,$_POST['txtp16']);
$p17 = mysqli_real_escape_string($db,$_POST['txtp17']);
$p18 = mysqli_real_escape_string($db,$_POST['txtp18']);
$p19 = mysqli_real_escape_string($db,$_POST['txtp19']);
$p20 = mysqli_real_escape_string($db,$_POST['txtp20']);
$p21 = mysqli_real_escape_string($db,$_POST['txtp21']);
$p22 = mysqli_real_escape_string($db,$_POST['txtp22']);

$sql = 
"
START TRANSACTION;
INSERT INTO `kualitas_produk`(`responden`,`p1`,`p2`,`p3`,`p4`,`p5`,`p6`,`p7`,`p8`,`p9`) VALUES ('','$p1','$p2','$p3','$p4','$p5','$p6','$p7','$p8','$p9');
SELECT LAST_INSERT_ID() INTO @LASTID;
INSERT INTO `harga_produk`(`responden`,`p10`,`p11`,`p12`) VALUES (@LASTID,'$p10','$p11','$p12');
INSERT INTO `keputusan_pembelian`(`responden`,`p13`,`p14`,`p15`,`p16`,`p17`,`p18`,`p19`,`p20`,`p21`,`p22`) VALUES (@LASTID, '$p13','$p14','$p15', '$p16','$p17','$p18', '$p19','$p20','$p21', '$p22');
INSERT INTO `recap`(`responden`,`kualitas`,`harga`,`keputusan`) VALUES ('',@LASTID,@LASTID,@LASTID);
COMMIT;
";

此时,我收到了此错误

  

错误:您的SQL语法出错;检查与您的MariaDB服务器版本对应的手册,以便在“INSERT INTO kualitas_produkrespondenp1p2p3附近使用正确的语法,第2行p4p5p6p7,“p8”

这里我如何执行查询

mysqli_query($db,$sql) or die("Error: ".mysqli_error($db));
echo "Data Berhasil Ditambahkan";
mysqli_close($db);

我已经尝试为错误返回$ sql variabel,然后在phpmyadmin上手动复制粘贴,代码完全没有错误。

有人可以找出问题所在吗?任何帮助将不胜感激

  

M.KHALID解决了评论BELLOW。谢谢你。

1 个答案:

答案 0 :(得分:0)

您不能一次向mysqli_query发送多个SQL语句。

multi_query是一个安全漏洞;你最好每个语句使用mysqli_query。它可以让你更好地检查错误。