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

时间:2016-10-13 14:52:58

标签: php json

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

为此,我使用表单,action = queryProduct.php和方法发布了一个html代码。

HTML code:

                  <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);

现在它什么都没有:(

我已经测试了sql查询,它工作正常......

1 个答案:

答案 0 :(得分:1)

RTM:http://php.net/pg_query

  

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

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