我想在我的页面中插入所选文本,点击我页面中的按钮,但我的问题是它是doenst insert。选择文本是正确的我测试了它。 我收到的回复是我选择的文本
这是我的索引页面,我将文本传递给变量文本
<script src="jquery-3.2.1.min.js"></script>
<script>
$(document).ready(function () {
var text = $("span:not([dir=rtl])").text();
$("#btn").click(function () {
$.ajax({
type:'post',
url:'process.php',
data:{'text':text},
success:(function (response) {
alert(response);
})
})
})
})
</script>
这是我的process.php,它连接到数据库并执行查询但运行else语句
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "sahifeDB";
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = 'update sahife_tbl set english ='. $_POST['text'].' where id=1 ';
$result = $conn->query($conn,$sql);
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
答案 0 :(得分:0)
您需要将"
放在update语句中,因为数据类型是字段
将您的查询更改为:
$sql = 'update sahife_tbl set english ="'. $_POST['text'].'" where id=1 ';
还可以使用预备语句来防止sql注入
答案 1 :(得分:0)
您需要在查询中放置字符串值的引号,否则您的数据库将尝试解析文本作为语法的一部分并摔倒。
$sql = "update sahife_tbl set english ='". $_POST['text']."' where id=1 ";
但是,正如我在你的问题评论中提到的,这是超级不安全的,你想要使用参数化 - https://stackoverflow.com/a/60496/635522