dsjq6977 2018-05-30 09:10
浏览 78
已采纳

撇号[']不保存在数据库中

Values don't save in database when I use : apostrophe [ ' ]

I changed database collation to "utf8_general_ci" & column type to BLOB.

addslashes :

<td <?php if($userdepart==0 ) { ?>
    contenteditable="true"
    onBlur="saveToDatabase(this,'name','<?php echo addslashes($orderrecords[$k]["id"]); ?>')"
    <?php } ?>>
    <?php echo substr(addslashes($orderrecords[$k]["name"]),0,75); ?>
</td>

Also I tried mysqli_real_escape_string

<td <?php if($userdepart==0 ){?>
    contenteditable="true"
    onBlur="saveToDatabase(this,'name','<?php echo addslashes(mysqli_real_escape_string($mysqli,$orderrecords[$k]["id"])); ?>')"
    <?php }?>>
    <?php echo addslashes(mysqli_real_escape_string($mysqli,substr($orderrecords[$k]["name"],0,975))); ?>
</td> 

Right now I really can't use prepared statements and parameterized queries, as this is used by only company users. Please help me with a work around....

update

function saveToDatabase(editableObj,column,id) {

    if(column=="image_ready" || column=="ready_to_print" || column=="ready_to_packaging" || column=="ready_to_dispatch"){cvalue=editableObj;}else{var cvalue=$(editableObj).text();}

      $.ajax({
        url: "editOrder.php",
        type: "POST",
        data:'column='+column+'&editval='+cvalue+'&id='+id,
        success: function(data){
          $(editableObj).css("background","#dddddd");
          if(column=="image_ready" || column=="ready_to_print" || column=="ready_to_packaging" || column=="ready_to_dispatch"){location.reload();}
        }
      });

editOrder.php

$sql = "UPDATE do_order set " . $_POST["column"] . " = '".$_POST["editval"]."' WHERE  id=".$_POST["id"];
  • 写回答

1条回答 默认 最新

  • dongshipang8094 2018-05-30 09:16
    关注

    use prepared statements:

    $stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)");
    $stmt->bind_param("sss", $firstname, $lastname, $email);
    $firstname = "John";
    $lastname = "D'''oe";
    $email = "john@example.com";
    $stmt->execute();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 Hyper-v虚拟机相关问题,求解答。
  • ¥15 TSM320F2808PZA芯片 Bootloader
  • ¥45 谷歌浏览器出现开发者工具无法显示已创建的,但您可以调试已部署的代码。 状态代码 404, net::ERR HTTP RESPONSE CODE FAILURE
  • ¥15 如何解决蓝牙通话音频突发失真问题
  • ¥15 安装opengauss数据库报错
  • ¥15 【急】在线问答CNC雕刻机的电子电路与编程
  • ¥60 在mc68335芯片上移植ucos ii 的成功工程文件
  • ¥15 笔记本外接显示器正常,但是笔记本屏幕黑屏
  • ¥15 Python pandas
  • ¥15 蓝牙硬件,可以用哪几种方法控制手机点击和滑动