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

问题描述 投票:0回答:1
    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, "query1", array($cp, $ville)) or die ("Cannot execute statement\n");
            pg_close($dbconn);
}        

我们预期为“ 3”,但在$ result中找到了“资源ID#7”。

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

谢谢。

php postgresql prepared-statement
1个回答
0
投票

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

            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, "query1", array($cp, $ville)) or die ("Cannot execute statement\n");
            $figure = pg_fetch_all($result);
            for ($j = 0; $j < count($figure); $j++) {
              // Do something:
              // print ($figure[$j]['id']);
            }
© www.soinside.com 2019 - 2024. All rights reserved.