gpt4 book ai didi

PHP 从 MYSQL 查询中获取空值

转载 作者:行者123 更新时间:2023-11-29 12:55:33 24 4
gpt4 key购买 nike

我正在尝试使用 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";
}
?>

这就是我的 table 的样子以及里面的东西。这只是设置查询的初稿。这是非常基本的。

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 个“null”条目。

最佳答案

似乎您正在从数据库返回 utf-8 字符

您可以使用 mysqli_set_charset 将字符集设置为 utf8成功打开连接后。

mysqli_set_charset($con, "utf8");

此行中还有一个错误。

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

mysql_error 替换为 mysqli_error($con),因为您正在使用 mysqli_* 函数。

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

关于PHP 从 MYSQL 查询中获取空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24108705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com