这是错误数据库查询失败您的 SQL 语法有错误;检查与您的MySQL服务器版本相对应的手册,了解在第4行的' )'附近使用的正确语法。
我很累了修复此错误,我不知道我该怎么办。
<form id="packageLessonType" method="post">
<table id="listpackage" class="table table-condensed table-hover">
<thead>
<tbody id="responsePackage">
<tr id="pack_1">
<td>1 Month Unlimited</td>
<td id="td-" class="center">
<input type="checkbox" value="1" name="package[]">
</td>
</tr>
<tr id="pack_2">
<td>6 Lessons</td>
<td id="td-" class="center">
<input type="checkbox" value="2" name="package[]">
</td>
</tr>
<tr id="pack_3">
<td>6 Months Unlimited</td>
<td id="td-" class="center">
<input type="checkbox" value="3" name="package[]">
</td>
</tr>
<tr id="pack_4">
<td>12 Months Unlimited</td>
<td id="td-" class="center">
<input type="checkbox" value="4" name="package[]">
</td>
</tr>
<tr id="pack_5">
<td>Group of 4</td>
<td id="td-" class="center">
<input type="checkbox" value="5" name="package[]">
</td>
</tr>
<tr id="pack_6">
<td>Group of 8 </td>
<td id="td-" class="center">
<input type="checkbox" value="6" name="package[]">
</td>
</tr>
</tbody>
</table>
</form>
阿贾克斯脚本
$('.packAddLt_btn').click(function(e){
var clickedIdadded = this.id.split('_');
var addedId = clickedIdadded[1];
var addedPackageLesson = "&lessonPackageAdded="+addedId;
var addLesPackCheck = $('#packageLessonType').serialize();
var submitData = addLesPackCheck+addedPackageLesson;
//alert(submitData);
$.ajax({
type:"POST",
url:"<?php echo get_stylesheet_directory_uri(); ?>/includes/response_lessons_packages.php",
dataType:"text",
data:submitData,
success: function(response){
alert(response);
},
error: function(xhr, ajaxOtions, thrownError){
alert(thrownError);
}
});
});
PHP代码
if($_POST['package']){
$checkBox= $_POST['package'];
$idToBeAdded = $_POST['lessonPackageAdded'];
foreach($checkBox as $value){
$queryAdd = "INSERT INTO packagebylessontype (packageid)VALUE({$value}) WHERE lessontypeid = {$idToBeAdded}";
$addedLessonByPackage = mysql_query($queryAdd, $connection);
}
confirm_query($addedLessonByPackage);
if($addedLessonByPackage){
echo "You've successfuly deleted your Package..";
mysql_close($connection);
}else{
header('HTTP/1.1 500 Looks like mysql error, could not insert record!');
exit();
}
}
错误:
数据库查询失败您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本对应的手册,了解在第 4 行的 ' )' 附近使用的正确语法
您有一个语法错误 - 而不是值类型值。
此外,您没有正确转义您的 sql 参数,从而导致自己对 sql 注入开放。
不能在简单查询中将 INSERT 语句与 WHERE 子句一起使用。一个 INSERT 将使用他自己的字段 lessontypeid 创建一个新行。 也许您正在尝试执行更新。
如果要插入,正确的方法是:
INSERT INTO packagebylessontype (packageid) VALUES ('A')
如果要执行更新,请:
UPDATE packagebylessontype SET packageid = 'A' WHERE lessontypeid ='1'
请注意,我仅在更新操作中使用 WHERE 子句,作为查找要更新的寄存器的参考。
好吧,在(packageid)和VALUES之间留一个空格,我认为这可能会起作用,当然它应该是VALUES而不是VALUE
尝试使用VALUES而不是VALUE。$queryAdd = "INSERT INTO packagebylessontype (packageid)VALUES({$value}) WHERE lessontypeid = {$idToBeAdded}";