簡體   English   中英

PHP從MYSQL查詢中獲取空值

[英]PHP getting null-values from MYSQL-query

我正在嘗試使用PHP查詢我的數據庫。 我已經完成所有設置,並且它可以響應請求,問題是它僅返回ID,而不返回我要的語句。 這是我得到的答復:

{"jagharaldrig":[{"id":"1","statement":null},{"id":"2","statement":null},{"id":"3","statement":null},{"id":"4","statement":null}]}

這是我用來查詢數據庫的PHP腳本:

<?php
/*
 * Script to get jagharaldrig.
 * @author Simon Cedergren
 */
#Connect to Database
        $con = mysqli_connect("<host>", "<user>", "<password>", "<database>");

#Check connection
        if (mysqli_connect_errno()) {
            echo 'Database connection error: ' . mysqli_connect_error();
            exit();
        }


   #Ensure that the client has provided a value for "type"
    if (isset($_POST["type"])){

        #Setup variables
        $user_id = $_POST["user_id"];
        $type = $_POST["type"];
        $index = $_POST["index"];

        $user_id = mysqli_real_escape_string($user_id);
        $type = mysqli_real_escape_string($type);
        $index = mysqli_real_escape_string($index);

        $data = mysqli_query($con, "SELECT * FROM jagharaldrig") or die(mysql_error());

        #If no data was returned, check for any SQL errors
        if ($data) {
            $result_data = array();
            $i=0;
            while($row = mysqli_fetch_array($data)){
                $result_data[$i++] = array(
                    'id' => $row[0],
                    'statement' => $row[1]
                );
             }
        }

        #Output the JSON data
        echo json_encode(array('jagharaldrig' => $result_data));
    }else{
        echo "Could not complete query. Missing parameter";
    }
?>

這就是我的桌子的樣子以及里面的東西。 這只是設置查詢的初稿。 這是非常基本的。

MariaDB [onyktert]> SELECT * FROM jagharaldrig;
+----+-----------------------------------+
| id | statement                         |
+----+-----------------------------------+
|  1 | Jag har aldrig spelat schack!     |
|  2 | Jag har aldrig ätit choklad!           |
|  3 | Jag har aldrig varit kär!         |
|  4 | Jag har aldrig åkt skridskor!   |
+----+-----------------------------------+
4 rows in set (0.00 sec)

MariaDB [onyktert]> DESCRIBE jagharaldrig;
+-----------+--------------+------+-----+---------+----------------+
| Field     | Type         | Null | Key | Default | Extra          |
+-----------+--------------+------+-----+---------+----------------+
| id        | int(11)      | NO   | PRI | NULL    | auto_increment |
| statement | varchar(500) | YES  |     | NULL    |                |
+-----------+--------------+------+-----+---------+----------------+

我在PHP腳本中缺少什么還是這種錯誤? 我試過只查詢語句

SELECT statement FROM jagharaldrig;

但隨后返回4個“空”條目。

似乎您正在從數據庫返回utf-8 characters

成功打開連接后,可以使用mysqli_set_charset將字符集設置為utf8。

mysqli_set_charset($con, "utf8");

同樣,您在此行中有一個錯誤。

$data = mysqli_query($con, "SELECT * FROM jagharaldrig") or die(mysql_error());

mysqli_error($con)替換mysql_error ,因為您正在使用mysqli_*函數。

$data = mysqli_query($con, "SELECT * FROM jagharaldrig") or die(mysqli_error($con));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM