[英]SQL Server prepared statement with PHP - Error
我正在嘗試使用 PHP 對 SQL 服務器執行准備好的語句。這是我的(部分)代碼:
$tsql = "INSERT INTO CLIDES
(STTIPANA,
STCODCLI,
STCODDES,
STRAGSO1,
STRAGSO2)
VALUES
('C',
?,
'0000000',
?,
?
)";
$params = array(
&$id_customer,
&$name1,
&$name2,
);
$stmt = sqlsrv_prepare($conn, $tsql, $params);
if (sqlsrv_execute($stmt)) {
echo "Statement executed.\n";
} else {
echo "Statement could not be executed.\n";
print_r(sqlsrv_errors());
}
$conn 已正確定價(在此查詢之前還有另一個查詢並且工作正常)。
結果是一個錯誤和字符串
語句無法執行”。
Array ( [0] =>
Array ( [0] => IMSSP
[SQLSTATE] => IMSSP
[1] => -16
[code] => -16
[2] => An invalid PHP type for parameter 1 was specified.
[message] => An invalid PHP type for parameter 1 was specified.
)
)
使用以下循環
foreach ($params as $i => $v) {
echo $i . " - " . $v . "<br>";
}
我可以讀取 3 個參數(和相對索引)。
我試過谷歌,但我不明白這個問題的原因。 有人可以幫我嗎?
問題是 3 個參數是對象(由於對 web 服務的特定調用)所以“回聲”很好(正確的字符串)但類型不是字符串。 浪費時間。 謝謝大家
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.