2014-02-21 4 views
-3

데이터베이스에서 데이터를 가져 와서 그것을 행할 때 문제가 있습니다. 오류가 발생했습니다. 어떻게 데이터를 가져 오려면 while 및 row it을 사용하여 데이터베이스에서 가져옵니다. 사전에mysqli를 사용하여 데이터베이스에서 데이터 가져 오기

Fatal error: Call to a member function fetch() on a non-object in

감사합니다 .. 여기

내 코드입니다에 ..

<body> 
<?php 

$id = $_GET['id']; 

$iqry = $mysqli->prepare("SELECT itemcode,itemname,brandname,quantity FROM table_inventory WHERE id = ?"); 
$iqry->bind_param('i', $id); 
$iqry->execute(); 
$iqry->bind_result($itemcode,$itemname,$brandname,$quantity); 
$res = $iqry->store_result(); 

while ($row = $res->fetch()){ 
    $itemcode = $row['itemcode']; 
    $itemname = $row['itemname']; 
    $brandname = $row['brandname']; 
    $quantity = $row['quantity']; 
} 
?> 

    <form method="post" name="increasing" action="save.php"> 
     <table> 
      <tr><td>Itemcode</td><td>:</td><td><input type="text" name="itemcode" required="required" value="<?php echo $itemcode; ?>">/></td></tr> 
      <tr><td>Itemname</td><td>:</td><td><input type="text" name="itemname" required="required" value="<?php echo $itemname; ?>"/></td></tr> 
      <tr><td>Brandname</td><td>:</td><td><input type="text" name="brandname" required="required" value="<?php echo $brandname; ?>"/></td></tr> 
      <tr><td>Quantity</td><td>:</td><td><input type="text" name="quantity" required="required" value="<?php echo $quantity; ?>"/></td></tr> 
      <tr><td></td><td></td><td><input type="submit" class="myButton" value="Save"/></td></tr> 
     </table> 
    </form> 
<body> 
+0

Have mysqli 매뉴얼을 참고하셨습니까? – Trent

+0

오류 메시지를 Google에 연결하고 관심을 끄는 결과를 선택하십시오. - 수백 가지가 있습니다! –

+0

[mysqli_stmt :: store_result'] (http://php.net/manual/mysqli-stmt.store-result.php)의 설명서를 읽어야합니다 – Phil

답변

0

당신은 mysqli_stmtmysqli_result 방법을 혼합 것으로 보인다.

다음 변경을 시도해보십시오

  1. LIMIT 당신의 결과 집합 당신이

    $iqry->bind_param('i', $id); 
    $iqry->execute(); 
    $iqry->bind_result($itemcode, $itemname, $brandname, $quantity); 
    
    if (!$iqry->fetch()) { 
        throw new Exception('No results found for ID ' . $id, 404); 
    } 
    
    // You can now use $itemcode, $itemname, $brandname and $quantity, 
    // they will all be set 
    
    ?> 
    
    <form ... 
    
을 함께 추가 될 것 같은 mysqli_stmt

... FROM table_inventory WHERE id = ? LIMIT 1 
  • 스틱에

  • +0

    도움을 청합니다. 에 대한 오류가 있습니다. 치명적인 오류 : 메시지 catch되지 않은 예외 '예외'스택 추적에서 'ID 검색 결과를 찾을 수 없음': # 0 {주} 에 던져 그리고 ( 는'$ iqry = $ mysqli-> 준비를 내 코드에 제안을 추가하려고 "SELECT itemcode, itemname, brandname, quantity FROM table_inventory WHERE id =? LIMIT 1"); $ iqry-> execute(); $ iqry-> bind_result ($ itemcode, $ itemname, $ brandname, $ quantity); if (! $ iqry-> fetch()) { throw new exception ('ID에 대한 결과가 없습니다'. $ id, 404); } while ($ row = $ iqry-> fetch()) { $ itemcode = $ row [ 'itemcode'];}' 미안 새내기 질문 – user3335368

    +0

    @ user3335368 정말 분명합니다. '$ id'매개 변수가 비어 있습니다. 아마 당신의 URL에'? id ='가 없을 것입니다. * 실제로 * bind_param 줄을 놓친 것 같습니다. – Phil

    +0

    답장을 보내 주셔서 감사합니다. @ 012. 찾았습니다 .. – user3335368

    관련 문제