数组的输出值(php、mysql)
如何获取id字段的值数组的输出值(php、mysql),php,mysql,mysqli,Php,Mysql,Mysqli,如何获取id字段的值 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_ar
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;
}
echo$data[0]
或echo$data['id']
不起作用。您的函数返回一个数组数组,因此要获取第一个id:
$data = getById(1);
旁注:
- 全局性是不可取的。考虑将数据库连接对象作为函数传递给函数,
- 这样的转义是防止SQL注入的一种基本方法。使用a将更安全、更容易
是一种不好的做法,因为它向用户暴露了详细的MySQL错误,如果您已经写了数百次,那么很难删除它。另一种方法是或die(…)
,它以静默方式写入错误日志trigger\u error()
- 您无需使用while和array。获取单行,无需使用数组即可获取:
$data = getById(1);
echo $data[0]['id'];
尝试在函数中打印$行,您将了解它返回值的内容/方式尝试执行
var\u dump($data)
以查看函数返回的内容。echo 1因为getById(1)
的'id'
的值应该是1
。
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'];