回显数据未显示

时间:2014-09-09 15:20:01

标签: php mysql echo

我是php开发的新手。我使用phpmyadmin创建了一个数据库。现在我希望所有数据都显示在页面上。但是当我尝试运行文件时什么都没有出现。我不知道为什么这个正在发生。

db_config.php

   <?php
define('DB_USER', "root"); // db user
define('DB_PASSWORD', ""); // db password (mention your db password here)
define('DB_DATABASE', "moviesreview"); // database name
define('DB_SERVER', "localhost"); // db server


$con = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_DATABASE);
if($con->connect_errno > 0) {
  die('Connection failed [' . $con->connect_error . ']');
}

db_connect.php

   <?php

/**
 * A class file to connect to database
 */
class DB_CONNECT {

    // constructor
    function __construct() {
        // connecting to database
        $this->connect();
    }

    // destructor
    function __destruct() {
        // closing db connection
        $this->close();
    }

    /**
     * Function to connect with database
     */
    function connect() {
        // import database connection variables
        require_once __DIR__ . '/db_config.php';

        // Connecting to mysql database
        $con = mysqli_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die(mysqli_error($con));

        // Selecing database
        $db = mysqli_select_db($con,DB_DATABASE) or die(mysqli_error()) or die(mysqli_error($con));

        // returing connection cursor
        return $con;
    }

    /**
     * Function to close db connection
     */

     function close() {
        // closing db connection
        mysql_close();
    }


}

?>

代码

  <?php

$response = array();

// include db connect class
require_once __DIR__ . '/db_connect.php';

$con=new db_connect();

$strQuery="SELECT * FROM `moviesdetails WHERE `recent_upcoming` =0";

$result=mysqli_query($con,$strQuery);

while($row=mysqli_fetch_array($result)){
$row_array['movies_id']=$row['movies_id'];
$row_array['movies_name']=$row['movies_name'];
$row_array['movies_description']=$row['movies_description'];
$row_array['movies_time']=$row['movies_time'];
$row_array['movies_release_date']=$row['movies_release_date'];
$row_array['movies_youtube_link']=$row['movies_youtube_link'];
$row_array['recent_upcoming']=$row['recent_upcoming'];
$row_array['movies_image']=$row['movies_image'];
$row_array['movies_actors']=$row['movies_actors'];

array_push($response,$row_array);
}

echo json_encode($response);



?>

我得到的错误 enter image description here

2 个答案:

答案 0 :(得分:3)

您的代码存在一些问题。

  • <?php

  • 之间的空格
  • 您的表格缺少勾号,查询缺少分号。

  • 缺少数据库连接链接。

您的代码:

<? php
  ^ space

$response = array();

// include db connect class
require_once __DIR__ . '/db_connect.php';

$strQuery="SELECT * FROM `moviesdetails WHERE `recent_upcoming` =0"
                                       ^                           ^

$result=mysqli_query($strQuery);
                     ^ no DB connection

<?php

$response = array();

// include db connect class
require_once __DIR__ . '/db_connect.php';

$strQuery="SELECT * FROM `moviesdetails` WHERE `recent_upcoming` =0";

$result=mysqli_query($con,$strQuery);

使用错误报告http://php.net/manual/en/function.error-reporting.php会发出信号,包括or die(mysqli_error($con))mysqli_query()


您已编辑过您的问题。您正在混合使用mysqli_mysql_个功能。他们不混合。

所有mysql_error应为mysqli_error($con)mysql_close()mysqli_close($con)


修改

使用以下内容替换db_connect.php的全部内容:

<?php
define('DB_USER', "root"); // db user
define('DB_PASSWORD', ""); // db password (mention your db password here)
define('DB_DATABASE', "moviesdetails"); // database name
define('DB_SERVER', "localhost"); // db server


$con = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_DATABASE);
if($con->connect_errno > 0) {
  die('Connection failed [' . $con->connect_error . ']');
}

编辑#2:

while($row=mysqli_fetch_array($result)){

    $response[] = $row;
    $row['movies_id'];
    $row['movies_name'];
    $row['movies_description'];
    $row['movies_time'];
    $row['movies_release_date'];
    $row['movies_youtube_link'];
    $row['recent_upcoming'];
    $row['movies_image'];
    $row['movies_actors'];

}

echo json_encode($response);

答案 1 :(得分:1)

您的mysqli_query()功能中缺少连接链接作为参数。应该是:

$result = mysqli_query($connection_link, $strQuery);

http://php.net/manual/en/mysqli.query.php


在这种情况下,

$connection_link将采用以下格式:

// include db connect class
require_once __DIR__ . '/db_connect.php';
$connection_link = new DB_CONNECT();

但正如@Fred -ii-在评论中所说,你在PHP和SQL查询中也有一些语法错误。

您的数据库类设计糟糕,您应该在属性中存储连接链接并通过此类进行查询。