PHP&MYSQL:将行和列转换为json对象

问题描述 投票:0回答:2

我正在尝试使MYSQL表的所有行和列成为数组中的对象,以便可以通过javascript检索它们。

这是我到目前为止所拥有的:

<?PHP
include '../sql.php';
$c = mysql_connect('localhost', $user, $pw) or die('Unable to connect to MySQL');
$s = mysql_select_db('mydb') or die('Could not select database');
$q = mysql_query('SELECT * FROM mytable') or die(mysql_error());
$a = array();

$cl = mysql_num_fields($q); 
for($i = 1; $i < $cl; $i++){
    while($r = mysql_fetch_assoc($q)){
        foreach($r as $k => $v){
            $a[] = //something;
        }
    }
}

echo json_encode($a);
mysql_close($c);
?>

最后的对象应如下所示:

[
    {id: 1, name: 'bob', status: 'sleeping'},
    {id: 2, name: 'james', status: 'partying'},
    {id: 3, name: 'eric', status: 'reading'}
]
php mysql rows
2个回答
3
投票

以两行(我的意思是三行!)来做呢?

$pdo = new PDO("mysql:host=localhost;dbname=myDB;charset=utf8",'myUserName','myPassword');
$stmt = $pdo->query('SELECT * FROM mytable');
echo json_encode($stmt->fetchAll(PDO::FETCH_ASSOC));

PS。使用SELECT *被认为是不好的做法。


0
投票

对于PHP中的mysqli json响应

$link = mysqli_connect($servername, "$username", "$password", "$db_name", $port);
if (!$link) 
{die("MySQL connect ERROR:  " . mysqli_connect_error());}

$query = "SELECT * FROM mytable";
$result = mysqli_query($link,$query);
echo json_encode(mysqli_fetch_all($result,MYSQLI_ASSOC));
@mysql_close($link);
© www.soinside.com 2019 - 2024. All rights reserved.