Php 如何获取数组而不是json对象?

Php 如何获取数组而不是json对象?,php,arrays,json,Php,Arrays,Json,每次循环时都会过度写入数组 <?php $link = mysql_connect('localhost', 'root', 'admin') or die('There was a problem connecting to the database.'); mysql_select_db('hospitalmaster'); $hnum = (int)$_POST["hnum"]; $sql = "SELECT d.doctorid, d.doctorname

每次循环时都会过度写入数组

<?php 

$link = mysql_connect('localhost', 'root', 'admin')
or die('There was a problem connecting to the database.');
mysql_select_db('hospitalmaster');

$hnum = (int)$_POST["hnum"];
$sql = "SELECT d.doctorid, d.doctorname 
        from hospitalmaster.doctor_master d 
            inner join pharmacymaster.pharbill e 
        where e.hnum = '$hnum' 
        and e.presid = d.d_empno 
        group by e.presid";

$result = mysql_query($sql);
$response = array();

if (mysql_num_rows($result) > 0) {
    while ($row = mysql_fetch_assoc($result)) {
        $response = $row;
    }

    echo json_encode(array("Doctor"=>$response));
} else {
    echo ("no DATA");
}
?>
您应该使用
mysqli\uu
或PDO。以下是对mysqli的建议



每次在新代码中使用数据库扩展时,它都会被弃用,并且已经存在多年,在PHP7中永远消失。如果你只是在学习PHP,那么就把精力花在学习
PDO
mysqli
数据库扩展和准备好的语句上。除了上面的注释之外,您还可以通过
json_decode($yourjsonobjectvariable,true)将json对象转换为数组谢谢你提供的宝贵信息,我这样做是为了一个项目,因此,关键时刻…通过一些参考资料,我学会了这种方式…因此我需要知道如何修改代码…@AlivetoDie…所以我的对象变量将是docotrs,代码应该放在echo代码下面,对吗?感谢您宝贵的代码…感谢您…再次感谢@riggsfully
while ($row = mysql_fetch_assoc($result)) {
    $response[] = $row;
    //change ^^
}
<?php 

$link = mysqli_connect('localhost', 'root', 'admin','hospitalmaster')
or die('There was a problem connecting to the database.');

$sql = "SELECT d.doctorid, d.doctorname 
        from hospitalmaster.doctor_master d 
            inner join pharmacymaster.pharbill e 
        where e.hnum = ?
        and e.presid = d.d_empno 
        group by e.presid";

$stmt = $link->prepare($sql);
$stmt->bind_param('i', (int)$_POST["hnum"]);
$stmt->execute();

if ($stmt->num_rows() > 0) {
    $result = $stmt->get_result();
    $response = array();

    while ($row = $result->fetch_assoc()) {
        $response[] = $row;
    }

    echo json_encode(array("Doctor"=>$response));
} else {
    echo ("no DATA");
}
?>