【问题标题】:phpMyAdmin sql query is always returning 500 Internal Error?phpMyAdmin sql 查询总是返回 500 内部错误?
【发布时间】:2020-05-17 20:30:15
【问题描述】:

我是 PHP 新手。我一直在尝试从数据库中获取数据并将它们转换为 json 。但是,当我打开 chrome 控制台时。它说 500:内部服务器错误。 这是我的 PHP 代码

<?php

function get_data(){
$link = mysqli_connect("localhost:8889","root2","root","EMPLOYEE");

if (!$link) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;

$sql = "SELECT * FROM people";

$result = mysqli_query($link,$sql);

$json_array = array();

while($row = mysql_fetch_array($result))
{
    $json_array[] = array(
        'id' => $row["id"],
        'name' => $row["name"]
    );
}
$json_array['name'] = "sarath";
$json_array['age'] = 19;
#echo $json_array;
return json_encode($json_array);
}
echo '<pre>';
print_r(get_data());
echo '</pre>';
?>

我在http://localhost:8888/peo.php 得到以下输出。 json_array 没有被打印出来。

<pre>Success: A proper connection to MySQL was made! The my_db database is great.
Host information: localhost:8889 via TCP/IP

THE DATABASE IMAGE FROM PHPMyAdmin has been linked here

【问题讨论】:

    标签: php mysql sql json mysqli


    【解决方案1】:

    1) 您使用mysqli_connect 打开连接,但后来使用mysql_fetch_array。将其更改为mysqli_fetch_array:这些是不同的驱动程序。

    2) 你确定你已经安装了json 插件吗?您可以使用phpinfo(); 进行检查,或者尝试 var dump:var_dump(json_encode(['something']));

    【讨论】:

    • 谢谢@Bartosz Pacholek ...您指出的第一点解决了这个问题。再次感谢你 ! :))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-28
    • 2017-12-03
    • 1970-01-01
    • 2017-02-02
    • 1970-01-01
    • 2019-09-28
    相关资源
    最近更新 更多