2

我在下面有几行代码可以在我的 PostgreSQL 数据库上使用 PHP 执行准备好的语句。但是,它失败了,因为某些值会自动转换为字符串,而在我的情况下,uidandedu_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]));

有谁知道如何进行这项工作,或者是否有另一种更优选的方式来实现这一目标?

4

1 回答 1

1

您只需要将它们转换为整数:

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]));
于 2013-04-28T15:13:40.463 回答