我想删除一些数据使用:
$dbc=mysql_connect(_SRV,_ACCID,_PWD) or die(_ERROR15.": ".mysql_error());
$db=mysql_select_db("qdbase",$dbc) or die(_ERROR17.": ".mysql_error());
switch(postVar('action')) {
case 'changedata':
changedata(postVar('id'),postVar('chlotno'),postVar('chrange'),postVar('chS'),postVar('chA'),postVar('chB'),postVar('chC'),postVar('chstatus'));
break;
case 'deldata':
deldata(postVar('delid'));
break;
}
function changedata($id,$chlotno,$chrange,$chS,$chA,$chB,$chC,$chstatus){
$ID = mysql_real_escape_string($id);
$Lot_no = mysql_real_escape_string($chlotno);
$Range = mysql_real_escape_string($chrange);
$S = mysql_real_escape_string($chS);
$A = mysql_real_escape_string($chA);
$B = mysql_real_escape_string($chB);
$C = mysql_real_escape_string($chC);
$Status = mysql_real_escape_string($chstatus);
$Lot_no=strtoupper($Lot_no);
$Range=strtoupper($Range);
$sql = "UPDATE inspection_report SET Lot_no = '".$Lot_no."', Range_sampling = '".$Range."', S = '".$S."', ";
$sql.= "A = '".$A."', B = '".$B."', C = '".$C."', Status = '".$Status."' ";
$sql.= "WHERE id = ".$ID;
echo $sql;
$result=mysql_query($sql) or die(_ERROR26.": ".mysql_error());
//echo $result;
mysql_close($dbc);
}
function deldata($id){
$ID = mysql_real_escape_string($id);
$sql = "DELETE FROM inspection_report WHERE id = '".$ID."'";
echo $sql;
$result=mysql_query($sql) or die(_ERROR26.": ".mysql_error());
//echo $result;
mysql_close($dbc);
}
我在此查询中未找到任何错误消息并显示“200,OK”。 但数据仍然存在(未删除)。为什么会这样?我的查询中有什么问题吗?
echo $sql:DELETE FROM inspection_report WHERE id = ''
答案 0 :(得分:1)
$('#balupdate').click(function() {
if ($("#editbaldata").valid()){
var params = $('#editbaldata').serialize();
$.ajax({
async : false,
cache : false,
data : params,
success: function(res) {
我想念.serialize()
答案 1 :(得分:0)
确保$ id变量在整个过程中都是相同的,$ id!= $ ID
答案 2 :(得分:0)
postVar
不是变量。尝试使用$postVar
。如果你的postVar是一个函数,请给我们这个函数的代码。我没有看到switch
函数的结束。
答案 3 :(得分:0)
基于echo $ sql,看起来像postVar('delid')返回null。
您应该检查您的代码,看看'delid'是否实际传递给您的脚本,或者是否还有其他原因导致它未设置。
如何设置'delid'?
答案 4 :(得分:-1)
PHP $ id和$ ID是两个不同的变量。