使用mysqli从数据库中检索数据

时间:2014-02-21 02:17:10

标签: php mysqli

我从数据库中获取数据并将其排成行时出现问题我遇到了错误。 如何使用while和row来从数据库中获取数据。

  

致命错误:在

中的非对象上调用成员函数fetch()

提前致谢..

这是我的代码..

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

1 个答案:

答案 0 :(得分:0)

您似乎混淆了mysqli_stmtmysqli_result方法。

尝试进行以下更改:

  1. LIMIT您的结果集为一个

    ... FROM table_inventory WHERE id = ? LIMIT 1
    
  2. 坚持mysqli_stmt,因为你似乎更进一步

    $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 ...