将 MySQL 数据库转换为 JSON

Aka*_*hii 0 php mysql json

我正在使用下面的代码将数据库转换为 JSON。

<?php
header('Content-type:application/json');

mysql_connect('localhost','root','')or die('cannot connect');
mysql_select_db('sanpham');
$sql = "SELECT * FROM cpu";
$result = mysql_query($sql);
if(!$result)
{
    echo 'L?i SQL: '.mysql_error();
    echo "\r\n<br />";
    echo 'SQL: '.$sql;
    exit;
}
$rows = array();
while($row=mysql_fetch_array($result)){
    $rows[]=$row;
}
echo json_encode($rows);


?>
Run Code Online (Sandbox Code Playgroud)

在我的 PHP 文件中没有错误,没有数据库,没有任何显示。

Mas*_*ile 7

Deprecated : mysql_connect(): mysql 扩展已被弃用,将来会被删除:使用 mysqli 或 PDO 代替

由于警告建议使用 pdo 或 mysqli。

mysqli :

<?php

$servername = "localhost";
$username   = "root";
$password   = "";
$dbname     = "sanpham";

// Create connection
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$conn = new mysqli($servername, $username, $password, $dbname);
$conn->set_charset('utf8');

$sql = "SELECT * FROM cpu";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    $rows = $result->fetch_all(MYSQLI_ASSOC);

    echo json_encode($rows);
} else {
    echo "no results found";
}
Run Code Online (Sandbox Code Playgroud)

公共事业单位:

<?php

$host    = 'localhost';
$db      = 'sanpham';
$user    = 'root';
$pass    = '';
$charset = 'utf8';

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$opt = [
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES   => false,
];

$dbh = new PDO($dsn, $user, $pass, $opt);

$result = $dbh->query("SELECT * FROM cpu");
$rows = $result->fetchAll();
echo json_encode($rows);
Run Code Online (Sandbox Code Playgroud)