我正在通过以下方式从数据库中选择数据:按预期,我得到的结果是一行,并希望从中提取lat
和lon
数据:
$prep_stmt = "SELECT lat, lon FROM members WHERE id = ? LIMIT 1";
$stmt = $mysqli->prepare($prep_stmt);
if ($stmt) {
$stmt->bind_param('i', $user_id);
$stmt->execute();
$result = $stmt->store_result();
if ($stmt->num_rows == 1) {
logC("user exists");
logC("extract lat, lon!");
}
}
我尝试使用变量$stmt->fetch()
并将其从$result
变量中提取出来,但没有成功。正确的做法是什么?
由于您只期望一个结果:
if ($stmt = $mysqli->prepare($prep_stmt)) {
$stmt->bind_param('i', $user_id);
$stmt->execute();
$stmt->bind_result($lat, $lon);
if(($result = $stmt->fetch()) == true){
echo "'$lat' and '$lon'";
} elseif($result == false) {
echo 'db error';
} else {
echo 'no results'; // $result == null
}
}
如果您有多行,则$ stmt-> fetch()会将下一个结果绑定到相同的变量,因此您可以执行以下操作:
while($stmt->fetch()){
echo $lat, $lon;
}
这只是许多方法中的一种。.只需阅读文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句