如何在PHP中的PostgreSQL数据库上使用多个参数编写准备好的语句

    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 = $1 AND name = $2') or die ("Cannot prepare statement\n");
            $result = pg_execute($dbconn,array($cp,$ville)) or die ("Cannot execute statement\n");
            pg_close($dbconn);
}        

我们期望'3',但在$ result中找到了'Resource ID#7'。

我们正在参加黑客马拉松,我们将不胜感激。

谢谢。

huanwujun 回答:如何在PHP中的PostgreSQL数据库上使用多个参数编写准备好的语句

您需要将结果提取到数组中

pg_prepare($dbconn,"query1",'SELECT id FROM public."City" WHERE zip_code = $1 AND name = $2') or die ("Cannot prepare statement\n");
$result = pg_execute($dbconn,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)工作

本文链接:https://www.f2er.com/3054744.html

大家都在问