[英]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.