84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
我第一次尝试使用mySQLi。在循环的情况下,我已经做到了。循环的结果显示出来了,但是当我尝试显示单个记录时卡住了。这是工作的循环代码。
姓名: 电子邮件:
如何显示单个记录,任何记录,姓名或电子邮件,从第一行或其他任何地方,只是单个记录,我该如何做到这一点? 在单个记录的情况下,考虑删除上述循环部分,让我们显示任何单个记录而不使用循环。
使用mysqli_fetch_row()。尝试以下代码:
mysqli_fetch_row()
$query = "SELECT ssfullname, ssemail FROM userss WHERE user_id = ".$user_id; $result = mysqli_query($conn, $query); $row = mysqli_fetch_row($result); $ssfullname = $row['ssfullname']; $ssemail = $row['ssemail'];
当只需要一个结果时,不需要使用循环。直接获取行。
如果需要将整行数据获取为关联数组:
$row = $result->fetch_assoc();
如果只需要一个值,从PHP 8.2开始:
$value = $result->fetch_column();
或者对于旧版本:
$value = $result->fetch_row()[0] ?? false;
下面是不同用例的完整示例
当查询中需要使用变量时,必须使用预处理语句。例如,假设我们有一个变量$id:
$id
PHP >= 8.2
// 获取单行 $sql = "SELECT fullname, email FROM users WHERE id=?"; $row = $conn->execute_query($query, [$id])->fetch_assoc(); // 如果只需要一个值 $sql = "SELECT count(*) FROM users WHERE id=?"; $count = $conn->execute_query($query, [$id])->fetch_column();
旧版本的PHP:
// 获取单行 $query = "SELECT fullname, email FROM users WHERE id=?"; $stmt = $conn->prepare($query); $stmt->bind_param("s", $id); $stmt->execute(); $result = $stmt->get_result(); $row = $result->fetch_assoc(); // 如果只需要一个值 $query = "SELECT count(*) FROM userss WHERE id=?"; $stmt = $conn->prepare($query); $stmt->bind_param("s", $id); $stmt->execute(); $result = $stmt->get_result(); $count = $result->fetch_row()[0] ?? false;
上述过程的详细解释可以在我的文章中找到。为什么必须遵循此过程的原因在这个著名的问题中有解释。
在您的情况下,查询中没有使用变量,您可以使用query()方法:
query()
$query = "SELECT fullname, email FROM users ORDER BY ssid"; $result = $conn->query($query); // 如果需要一个数组 $row = $result->fetch_assoc(); // 或者如果只需要一个值 $value = $result->fetch_row()[0] ?? false;
使用
mysqli_fetch_row()
。尝试以下代码:当只需要一个结果时,不需要使用循环。直接获取行。
如果需要将整行数据获取为关联数组:
如果只需要一个值,从PHP 8.2开始:
或者对于旧版本:
下面是不同用例的完整示例
在查询中使用的变量
当查询中需要使用变量时,必须使用预处理语句。例如,假设我们有一个变量
$id
:PHP >= 8.2
旧版本的PHP:
上述过程的详细解释可以在我的文章中找到。为什么必须遵循此过程的原因在这个著名的问题中有解释。
查询中没有变量
在您的情况下,查询中没有使用变量,您可以使用
query()
方法: