mysqli查询返回不起作用

时间:2014-05-10 02:27:06

标签: php mysqli

我在开发过程中一直在XAMPP的网站上工作,现在我已将网站上传到主机并且返回不起作用,但仅适用于桌面。

这是XAMPP视图:

enter image description here

这是托管视图:

enter image description here

我知道连接正常,因为右侧的过滤器,这些选择是通过返回选择填充的,并且它们在XAMPP和托管上都可以使用。

现在这里是代码:

这是Model Food.php:

    public function showAll()
{
        // creating a database connection
        $this->db_connection = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
        return $this->db_connection->query("SELECT * FROM food ORDER BY price_food ASC;");
        var_dump($sql);
}

这是View food.php上的表格

    <style type="text/css">
  table {
    font-size:16px;

  }
</style>
<table class="table table-bordered table-condensed">
    <tr>
        <th>
        <center>Contenedor</center>
        </th>
        <th>
        <center>Animal</center>
        </th>
        <th>
        <center>Segmento</center>
        </th>
        <th>
        <center>Marca</center>
        </th>
        <th>
        <center>Sabor</center>
        </th>
        <th>
        <center>Peso</center>
        </th>
        <th>
        <center>Precio</center>
        </th>
    </tr>
<?php
foreach($food->showAll() as $food_table) {
?>

    <tr>
    <td>
        <center><?= $food_table["container_food"]?></center>
    </td>
    <td>
        <center><?= $food_table["animal_name_food"]?></center>
    </td>
    <td style="width:20%;">
        <center><?= $food_table["animal_segment_food"]?></center>
    </td>
    <td>
        <center><?= $food_table["brand_food"]?></center>
    </td>
    <td style="width:20%;">
        <center><?= $food_table["flavor_food"]?></center>
    </td>
    <td>
        <center><?= $food_table["weight_food"]?></center>
    </td>
    <td style="font-size:18px;">
        <center>$ <?= $food_table["price_food"]?></center>
    </td>
    </tr>
<?php
}
?>

</table>

我看不出问题,这是我第一次在真正的托管环境中工作,所以在研究了很多MySQLi和PHP之后,我就不知道出了什么问题。

欢迎任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

没关系,我尝试了一种不同的方法并且它有效,我仍然不知道为什么它在XAMPP上工作而不在托管上。

以下是工作代码:

$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT * FROM food ORDER BY price_food ASC;";
$result = $mysqli->query($query);

while($row = $result->fetch_array())
{
$rows[] = $row;
}
return $rows;

/* free result set */
$result->close();

/* close connection */
$mysqli->close();