[英]PHP Query returns 'Conversion failed when converting the varchar value'
基本上,我通過Ajax請求將一些數據發送到php腳本,該腳本應運行查詢以更新數據庫中的表。
但是,它一直在考慮文本和注釋ID,我希望沒有問題: 所以我知道它發送了我想要的數據,但是該表並沒有更新(它從我發送到那里的數據中沒有單詞“ Additional text”)
現在,在firefox開發人員窗口的網絡選項卡下和預覽下,我有: 哪個似乎拋出了SQL錯誤?
這是從請求運行的php腳本:
<?php include 'connectionDetails.php'; ?>
<?php
if (isset($_POST['noteid1'], $_POST['notetext1']))
{
$noteid2 = $_POST['noteid1'];
$notetext2 = $_POST['notetext1'];
$stmt = "UPDATE Notes SET Note = ? WHERE NoteID = ?";
$params = array($noteid2, $notetext2);
$stmt = sqlsrv_query($conn, $stmt, $params);
if ($stmt === false)
{
die( print_r(sqlsrv_errors(), true));
}
}
else
{
echo "No Data";
}
?>
這是請求本身:
function submitNoteText()
{
var noteid = <?php if(isset($_POST['noteid'])){ echo $_POST['noteid'];} ?>;
var notetext = $("#ta1").val();
if(noteid == ''||notetext == '')
{
alert("NoteID or Text is blank");
}
else
{
$.ajax({
type: "POST",
url: "submitNoteText.php",
dataType: 'json',
data: {noteid1: noteid, notetext1: notetext},
cache: false,
success: function(result){
alert("Success");
}
});
}
return false;
};
所以我想它不更新表的原因是那個錯誤,所以我的問題是我如何在php中安全地編寫查詢而又不會收到該錯誤?
我認為您忘記了“ Note
列中的單引號。 嘗試這個:
$noteid2 = $_POST['noteid1'];
$notetext2 = $_POST['notetext1'];
$stmt = "UPDATE Notes SET Note = '$notetext2' WHERE NoteID = ?";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.