[英]How to pass non-string values into a prepared statement in PHP
我下面有幾行代碼用PostgreSQL數據庫上的PHP執行准備好的語句。 但是,它失敗了,因為某些值會自動轉換為字符串,而在我的情況下, uid
和edu_year
應該是整數:
$query = "INSERT INTO education(uid, year, diploma, school, major)
VALUES ($1, $2, $3, $4, $5)";
pg_prepare($conn, "my_query", $query);
pg_execute($conn, "my_query", array($_SESSION['uid'], $_POST['edu_year'][$i],
$_POST['edu_diploma'][$i], $_POST['edu_school'][$i], $_POST['edu_major'][$i]));
有誰知道如何進行這項工作,或者還有另一種更可取的方式來實現這一目標?
您只需要將它們大小寫為整數即可:
pg_execute($conn, "my_query", array((int)$_SESSION['uid'], (int)$_POST['edu_year'][$i], $_POST['edu_diploma'][$i], $_POST['edu_school'][$i], $_POST['edu_major'][$i]));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.