【问题标题】:error in fetch array - CRUD PHP/MYSQL获取数组中的错误 - CRUD PHP/MYSQL
【发布时间】:2018-06-12 10:15:02
【问题描述】:

我正在用 mysql 做一个 PHP CRUD,我遇到了一个我已经尝试了几个小时但无法解决的错误,有人可以帮助我吗?

正在显示的错误是:

致命错误:在 C 中对字符串调用成员函数 fetch_array (): \ wamp \ www \ crud_oop \ index.php 在第 233 行

第233行在while close_array中,有趣的是表中的第一项正常出现,而其余的却没有, 我还有其他代码块都采用相同的样式,但都正常工作,只有这一个出错了

<div class="container">
<div style="height:50px;"></div>
<div class="well" style="margin-left:auto; margin-right:auto; padding:auto; width:70%;">
    <span style="font-size:25px; color:#1f1a2f"><strong>Sorteio</strong></span> <!-- BOTÕES -->
    <span class="pull-right"><a href="#addnewPe" data-toggle="modal" class="btn btn-primary"><span class="glyphicon glyphicon-plus"></span> Adicionar</a></span>
    <div style="height:15px;"></div>
    <table class="table table-striped table-bordered table-hover">
        <thead>
        <th>Codigo</th>
        <th>Data pedido</th>
        <th>Cliente</th>
        <th>Funcionário</th>
        <th>Produto</th>
        <th>Quantidade</th>
        <th>Total do pedido</th>
        <th>Ação</th>
        </thead>
        <tbody>
        <?php
        $query=$conn->query("SELECT * FROM tb_pedido Pp INNER JOIN tb_cliente C ON Pp.codCliente = C.codCliente INNER JOIN tb_funcionario F ON Pp.codFuncionario = F.codFuncionario INNER JOIN tb_produto P ON Pp.codProduto = P.codProduto");
        while($row=$query->fetch_array()){
            ?>
            <tr>
                <td><?php echo $row['codPedido']; ?></td>
                <td><?php echo $row['dataPedido']; ?></td>
                <td><?php echo $row['nomeCliente']; ?></td>
                <td><?php echo $row['nomeFuncionario']; ?></td>
                <td><?php echo $row['descricao']; ?></td>
                <td><?php echo $row['qtdVendida']; ?></td>
                <td><?php echo $row['totalPedido']; ?></td>
                <td>
                    <span class="pull-center"><a href="#delPp<?php echo $row['codPedido']; ?>" data-toggle="modal" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span></a></span>
                    <p>_____</p>
                    <span class="pull-center"><a href="#editPp<?php echo $row['codPedido']; ?>" data-toggle="modal" class="btn btn-warning"><span class="glyphicon glyphicon-edit"></span></a></span>
                    <?php include('pedido/button.php'); ?>
                </td>
            </tr>
            <?php
        }

        ?>
        </tbody>
    </table>
    <?php
    if(isset($_SESSION['msgPp'])){
        ?>
        <div class="alert alert-success">
            <?php echo $_SESSION['msgPp']; ?>
        </div>
        <?php
        unset($_SESSION['msgPp']);
    }
    ?>
</div>
<?php include('pedido/add_modal.php'); ?>

非常感谢您的帮助!

【问题讨论】:

  • 你用的是mysql还是mysqli?
  • 我正在使用 mysqli
  • 这样试试 while($row=mysqli_fetch_array($query)){
  • pedido/button.php 的内容是什么,希望它不会覆盖$query 变量的值?
  • 警告:mysqli_fetch_array() 期望参数 1 为 mysqli_result,字符串中给出的这是我输入您请求的代码时给出的错误

标签: php mysql inner-join


【解决方案1】:

在运行查询时始终检查错误。

$sql=$conn->query("SELECT * FROM tb_pedido Pp INNER JOIN tb_cliente C ON Pp.codCliente = C.codCliente INNER JOIN tb_funcionario F ON Pp.codFuncionario = F.codFuncionario INNER JOIN tb_produto P ON Pp.codProduto = P.codProduto");

$res = $mysqli->query($sql) or trigger_error($mysqli->error."[$sql]");

        while($row=$res->fetch_array()){

【讨论】:

  • 对不起朋友,我没听懂你的回答……我是 PHP 初学者
  • 现在我有 2 个问题 注意:未定义变量:mysqli in 和致命错误:在 null in 上调用成员函数 query()
  • 接受并关闭此查询,然后发布第二个以解决。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-12
  • 1970-01-01
  • 2017-07-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多