2016-10-13 2 views
-1

PHP 파일의 SQL 쿼리에서 JSON 객체를 검색하려고합니다.PHP 언어에서 POST 메서드의 JSON 객체 표시

이 경우 나는 action = queryProduct.php 및 method post 형식의 html 코드를 만듭니다.

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 
     }?> 

아이디어는 다음과 같습니다 echo json_encode($result);

: 그것은 쿼리 결과에서 JSON 개체를 확인하고 브라우저를 사용하여 객체를 표시입니다

지금 아무것도 안합니다 : (

나는 SQL 쿼리와 그것을 잘 작동하고 ...

+0

http://php.net/manual/en/function.pg-fetch-array.php – AbraCadaver

+0

@AbraCadaver @AbraCadaver이 함수를 보았지만 내 쿼리는 복수가 아닌 레지스터 만 표시합니다. 그게 필요 할까? – ruzD

+0

'$ codigo'에 대해 무엇을 보내고 있습니까? ** 순전히 숫자가 아닌 경우 쿼리가 작동하지 않으면 구문 오류가 발생합니다. 그리고 pg_query는 당신이 질의 한 데이터가 아닌 HANDLE이라는 결과를 리턴한다는 것을주의하십시오. 그 결과 핸들을 json_encode 할 수 없습니다. –

답변

1

RTM : http://php.net/pg_query

반환 값 : 실패에서 성공 또는 FALSE에 쿼리 결과 자원. result resource 당신이로 json_encode 수 하지 뭔가가

그건(). 해당 핸들을 통해 결과 행을 가져 와서 배열에 넣은 다음 해당 배열을 인코딩해야합니다.