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");
}
?>