MySQL和PHP给我null var

时间:2015-09-03 08:22:01

标签: php mysql

我制作一个随机引用应用程序,按下按钮,我可以加载一个随机短语。我为此创建了一个MySQL数据库和两个php代码。 我在网络托管中上传了我的两个代码,应用程序正在运行! 但有时它会给我" null"而不是短语。我不知道为什么。 我对此不太满意。 可能是什么问题?
这是我的index.php

    require_once 'db.php';

    $query = "SELECT * FROM quotes ORDER BY rand() LIMIT 1";

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

    while($row = mysqli_fetch_array($result)) {
            print(json_encode($row['quote']));
    }

这是我的db.php

    // Create connection
    $con=mysqli_connect("host","user","pass","a6361246_phrases");

    // Check connection
    if (mysqli_connect_errno()) {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

1 个答案:

答案 0 :(得分:-1)

您可以在db.php文件中使用前三行,如下所示......

<?php
$host = 'localhost'; $db = 'database-name'; $user = 'database-user'; $pw = 'database-password';
$conn = new PDO('mysql:host='.$host.';dbname='.$db.';charset=utf8', $user, $pw);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
?>

不要忘记更改数据库名称,数据库用户和数据库数据库密码到您的特定凭据。

然后使用PDO得到这样的短语...

<?php
require_once 'db.php';

try {
    $sql = "SELECT * FROM Quotes ORDER BY rand() LIMIT 1";
    $query = $conn->prepare($sql);
    $query->execute();
    $row = $query->fetch(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    die("Could not get the data: " . $e->getMessage());
}
?>