显示JSON对象从方法POST在PHP语言


Show JSON object from method POST in PHP language

我试图从php文件的sql查询中检索JSON对象。

为此,我制作了一个html代码,其中包含表单,action=queryProduct.php和方法post.

HTML代码:

                  <form action="queryProduct.php" method="post">
                     <input name="codigo" type="text" placeholder="codigo">
                    <input type="submit" value="TEST">  
                  </form>

queryProduct.php:

<?php   
        session_start();
        if(isset($_SESSION['username']) && $_SESSION['username'] <> ''){ 
            include("functions.php"); 
            include("tools.php"); 
            $conn = Conectarse("localhost", "5432", "dbname", "dbuser", "dbpass");  
            $codigo = $_POST['codigo'];
            echo $codigo;
            $query = "SELECT * FROM produccion.ma_producto WHERE codigo={$codigo}"; 
            $result = pg_query($conn, $query);  
            if (!$result) {
                echo "Error query: " . pg_last_error($conn);
            } else {
                header('Content-type: application/json; charset=utf-8');
                echo json_encode($result);
            }
        echo json_encode($result);
            pg_close($conn);      
        } else{
            ?><p>La sesión no está activa, por favor ingrese <a href="login.php">aquí</a></p>
<?php   
        }?>

这个想法是:它从查询结果中生成一个JSON对象,并在浏览器中显示该对象:echo json_encode($result);

Now It doesn't nothing:

我已经测试了sql查询,它的工作很好…

RTM: http://php.net/pg_query

返回值:查询成功时返回查询结果资源,失败时返回FALSE。

result resource不是你可以json_encode()。您必须通过该句柄获取结果行,将其放入数组,然后对该数组进行编码。