删除数据不起作用

时间:2010-10-26 07:17:59

标签: php mysql sql-delete

我想删除一些数据使用:

    $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 = ''

5 个答案:

答案 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是两个不同的变量。