1

PHP で ODBC を使用してパラメーターを UPDATE ステートメントにバインドしようとしていますが、SQL ステートメントが失敗し、私の人生では理由がわかりません。グーグルを試してみましたが、MySQLi や PDO とは対照的に、PHP で ODBC を使用することに関する情報はほとんどないようです。

パラメータ バインディングで見つけたほとんどの例では SELECT ステートメントを使用していますが、私が知る限り、違いはありません。私が見つけた最も近い答えは、ここで stackoverflowでした。私が見ている限り、彼らは私がしていることをやっていますが、エラーが発生し続けます。これが私のコードです:

$updQuery = "UPDATE Demographic SET dmg_FirstName=? WHERE dmg_ID=?";
$update = odbc_prepare($connect, $updQuery);

$fname = $_POST['firstname'];
$pID = 145100007;
$updResult = odbc_execute($update, array($fname, $pID)) or die (odbc_errormsg());

上記のコードで発生し続けるエラーは次のとおりです。

Warning: odbc_execute(): SQL error: [Microsoft][ODBC Driver Manager] SQL data type out of range, SQL state S1004 in SQLBindParameter in C:\xampp\htdocs\work\ajaxdd.php on line 44

パラメータバインディングを削除するとコードが機能するため、最悪の事態が発生した場合は、できる限りデータをサニタイズすることができますが、それは明らかに望ましくありません。

4

1 に答える 1