猿问

将 PHP 参数传递给 SQL 查询时出错

我正在尝试使用 PHP 执行删除功能,需要Connection String并在其中创建 SQL 查询。


这是我的PHP代码:


function deleteEntry()

{

    require_once('connectionstring/connectionstring.php');

    $conn = SQLServerConnection();


    if( isset( $_POST['Delete'])){

        try {

            $loginID = $_POST['deleteFormID'];


            $query = "UPDATE <table> 

                        SET <column>.active_flag = '0' 

                        WHERE <table>.login_cred_id = ?";

            $parms = $loginID;

            $result = sqlsrv_query($conn, $query, $parms) or die (print_r ( sqlsrv_errors(), true));


        } catch (Exception $ex) {

            echo $ex->getMessage();

        }

    }

}

当我回显 $parms 时,它会显示应该传递的正确 ID。


当我尝试将 PHP 参数传递给 SQL Query 时出现错误,即使我已经使用正确的 ID 设置了参数。


这是错误:


Array ( [0] => Array ( 

                [0] => IMSSP 

                [SQLSTATE] => IMSSP 

                [1] => -14 

                [code] => -14 

                [2] => An invalid parameter was passed to sqlsrv_query. 

                [message] => An invalid parameter was passed to sqlsrv_query. 

                )

)


斯蒂芬大帝
浏览 287回答 2
2回答

交互式爱情

参数,即使只有一个参数,也必须在数组中传递。所以改变这一行来做$parms一个数组$parms&nbsp;=&nbsp;[$loginID];

哔哔one

Params 应该是一个数组试试下面的代码:function deleteEntry(){&nbsp; &nbsp; require_once('connectionstring/connectionstring.php');&nbsp; &nbsp; $conn = SQLServerConnection();&nbsp; &nbsp; if( isset( $_POST['Delete'])){&nbsp; &nbsp; &nbsp; &nbsp; try {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $loginID = $_POST['deleteFormID'];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $query = "UPDATE <table>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SET <column>.active_flag = '0'&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; WHERE <table>.login_cred_id = ?";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $parms[] = $loginID;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $result = sqlsrv_query($conn, $query, $parms) or die (print_r ( sqlsrv_errors(), true));&nbsp; &nbsp; &nbsp; &nbsp; } catch (Exception $ex) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo $ex->getMessage();&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}
随时随地看视频慕课网APP
我要回答