Удалить данные не работают - PullRequest
0 голосов
/ 26 октября 2010

Я хочу удалить некоторые данные:

    $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, ОК". Но данные все еще существуют (не удалены). Почему это случилось? Что-то не так в моем запросе?

echo $sql:DELETE FROM inspection_report WHERE id = ''

Ответы [ 5 ]

1 голос
/ 27 октября 2010

huft извините ... я сделал глупую ошибку, вот мой ответ:

$('#balupdate').click(function() {
          if ($("#editbaldata").valid()){
                     var params = $('#editbaldata').serialize();
                     $.ajax({
                             async  : false,
                             cache  : false,
                             data   : params,
                             success: function(res) {

я скучаю по .serialize()

0 голосов
/ 26 октября 2010

На основании echo $ sql похоже, что postVar ('delid') возвращает ноль.

Вы должны проверить свой код и посмотреть, является ли delid тем, что вы фактически передаете в свой скрипт, или есть какая-то другая причина, по которой он не установлен.

Как установить 'delid'?

0 голосов
/ 26 октября 2010

убедитесь, что переменная $ id везде одинакова, $ id! = $ ID

0 голосов
/ 26 октября 2010

postVar не является переменной.Попробуйте использовать $postVar.Если ваш postVar является функцией, дайте нам код этой функции.Я не вижу конца функции switch.

0 голосов
/ 26 октября 2010

В PHP $ id и $ ID - две разные переменные.

...