簡體   English   中英

PHP查詢返回“轉換varchar值時轉換失敗”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM