function getById($id) {
global $mysqli;
$result = $mysqli->query("SELECT * FROM `ids` WHERE `id` = '".$mysqli->real_escape_string($id)."'") or die($mysqli->error);
$rows = array();
while($row = $result->fetch_array(MYSQLI_ASSOC)) {
$rows[] = $row;
}
return $rows;
}
如何获取id字段的值?
$data = getById(1);
echo $data[0]
或echo $data['id']
无效。
答案 0 :(得分:4)
您的函数返回一个数组数组,因此要获取第一个ID:
$data = getById(1);
echo $data[0]['id'];
附注:
or die(....)
是不好的做法,因为它向用户公开了详细的MySQL错误,如果你写了数百次,很难删除。另一种选择是trigger_error()
,它会静默写入您的错误日志。答案 1 :(得分:2)
您无需使用while和数组。获取单行,您可以不使用数组:
function getById($id) {
global $mysqli;
$result = $mysqli->query("SELECT * FROM `ids` WHERE `id` = '".$mysqli->real_escape_string($id)."'") or die($mysqli->error);
return $result->fetch_array(MYSQLI_ASSOC);
}
$data = getById(1);
echo $data['id'];