gpt4 book ai didi

php - mysql_query 连接 NULL 结果,但我已经连接成功

转载 作者:行者123 更新时间:2023-11-29 11:29:44 49 4
gpt4 key购买 nike

我的 mysql 有问题。我有 PHP 脚本,它将数组从数据库返回到 json 数据中。我收到来自“echo”的有关成功连接的消息,但我的结果等于数组的 null 值。

在资源管理器上的结果我已经:

Connected successfully

query: SELECT name,id FROM rz_DWzZ'

result:

RESULT:[]

这是这个脚本。

$conn = mysql_connect($servername, $username, $password);
mysql_select_db($database);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
$return_arr = array();
$qstring = "SELECT name,id FROM rz_DWzZ";
$result = mysql_query($qstring,$conn);
echo "<br>query: ".$qstring."<br>";
echo "<br>result: ".$result."<br>";
while ($row = mysql_fetch_assoc($result))//loop through the retrieved values
{
$row['name']=htmlentities(stripslashes($row['name']));
$row['id']=(int)$row['id'];
array_push($return_arr,$row);
}
mysql_close($conn);
echo "<br>RESULT:".json_encode($return_arr);

最佳答案

您没有正确检查故障。 mysql_*() 函数在失败时返回 bool 值 FALSE,echo 将打印为零长度/不可见字符串。

您必须明确地测试它:

$result = mysql_query(...) or die(mysql_error());
^^^^^^^^^^^^^^^^^^^^^^--method #1

if ($result === false) { // method #2
die(mysql_error());
}

当然,无论如何您都不应该使用这些函数。它们已过时/已弃用,并且您的代码现在在较新版本的 PHP 中毫无用处。您应该使用 mysqli 或 PDO 进行任何新开发。

此外,您还有许多其他错误:

if ($conn->connect_error) {

mysql_*() 函数库从来都不是面向对象的。它纯粹是程序性的,并且绝对没有任何对象支持。因此,此连接测试将始终失败,因为 $conn->connect_error 将始终计算为 null,它也会转换为 bool 值 false,这意味着您会得到成功的误报。

关于php - mysql_query 连接 NULL 结果,但我已经连接成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37612005/

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