过去几周我遇到了一个我无法弄清楚的奇怪问题。
我有一个在 KeyUp 上触发的文本区域,通过 jQuery Ajax 将其内容推送到插入页面,如下所示:
$('body').on('keyup', '.dbDriven', function() {
var val = $(this).val();
$.ajax({url: '/dbUpdate.inc.php',type: "GET",data:
{
val: val
}
}).done(function ( data ) {
console.log(data);
});
});
在 dbUpdate.inc.php 上我这样做:
<?php
$value = mysql_real_escape_string($_GET['val']);
$query = "UPDATE table SET column = '".$value."' WHERE a = ".$b;
mysql_query($query) or die(mysql_error());
?>
一切正常,所有文本都在右行的右列中更新。当我有一个单引号 (') 时,它只会不断抛出语法错误,这应该由 mysql_real_escape_string 转义(Addslashes 也不起作用)。我是否遗漏了什么或者是否有任何我应该寻找的奇怪行为?
代码不是实际的生产代码,而是针对本文进行了简化。
最佳答案
mysql_query 已被 mysqli 或 PDO 弃用,您不会为此类问题烦恼。
关于php - 来自 Ajax GET 的语法错误 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22863463/