如何在 PHP 中的 PostgreSQL 数据库上使用多个参数创建准备好的语句
How to make a prepared statement with multiple parameters on a PostgreSQL DB in PHP
if (isset ($_POST['valider'])) {
if (isset ($_POST['nom']) && isset ($_POST['num']) && isset($_POST['suffixe']) && isset($_POST['rue']) && isset($_POST['cp']) && isset($_POST['ville'])){
$nom = $_POST['nom'];
$num = $_POST['num'];
$suffixe = $_POST['suffixe'];
$rue = $_POST['rue'];
$cp = $_POST['cp'];
$ville = $_POST['ville'];
pg_prepare($dbconn, "query1", 'SELECT id FROM public."City" WHERE zip_code = AND name = ') or die ("Cannot prepare statement\n");
$result = pg_execute($dbconn, "query1", array($cp, $ville)) or die ("Cannot execute statement\n");
pg_close($dbconn);
}
我们期望“3”,但我们在 $result 中找到了 'Resource ID #7'。
我们正在参加黑客马拉松,我们将不胜感激。
谢谢。
您需要将结果提取到数组中:
pg_prepare($dbconn, "query1", 'SELECT id FROM public."City" WHERE zip_code = AND name = ') or die ("Cannot prepare statement\n");
$result = pg_execute($dbconn, "query1", array($cp, $ville)) or die ("Cannot execute statement\n");
$f = pg_fetch_all($result);
for ($i = 0; $i < count($f); $i++) {
// Do something:
// print ($f[$i]['id']);
}
您也可以使用pg_fetch_row()
进行迭代。
披露:我为 EnterpriseDB (EDB)
工作
if (isset ($_POST['valider'])) {
if (isset ($_POST['nom']) && isset ($_POST['num']) && isset($_POST['suffixe']) && isset($_POST['rue']) && isset($_POST['cp']) && isset($_POST['ville'])){
$nom = $_POST['nom'];
$num = $_POST['num'];
$suffixe = $_POST['suffixe'];
$rue = $_POST['rue'];
$cp = $_POST['cp'];
$ville = $_POST['ville'];
pg_prepare($dbconn, "query1", 'SELECT id FROM public."City" WHERE zip_code = AND name = ') or die ("Cannot prepare statement\n");
$result = pg_execute($dbconn, "query1", array($cp, $ville)) or die ("Cannot execute statement\n");
pg_close($dbconn);
}
我们期望“3”,但我们在 $result 中找到了 'Resource ID #7'。
我们正在参加黑客马拉松,我们将不胜感激。
谢谢。
您需要将结果提取到数组中:
pg_prepare($dbconn, "query1", 'SELECT id FROM public."City" WHERE zip_code = AND name = ') or die ("Cannot prepare statement\n");
$result = pg_execute($dbconn, "query1", array($cp, $ville)) or die ("Cannot execute statement\n");
$f = pg_fetch_all($result);
for ($i = 0; $i < count($f); $i++) {
// Do something:
// print ($f[$i]['id']);
}
您也可以使用pg_fetch_row()
进行迭代。
披露:我为 EnterpriseDB (EDB)
工作