获取单个结果的数据库操作:使用mysqli连接数据库
P粉111227898
P粉111227898 2023-08-21 22:59:04
0
2
466

我第一次尝试使用mySQLi。在循环的情况下,我已经做到了。循环的结果显示出来了,但是当我尝试显示单个记录时卡住了。这是工作的循环代码。

   姓名: 
电子邮件:

如何显示单个记录,任何记录,姓名或电子邮件,从第一行或其他任何地方,只是单个记录,我该如何做到这一点? 在单个记录的情况下,考虑删除上述循环部分,让我们显示任何单个记录而不使用循环。

P粉111227898
P粉111227898

全部回复 (2)
P粉554842091

使用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'];
    P粉010967136

    当只需要一个结果时,不需要使用循环。直接获取行。

    • 如果需要将整行数据获取为关联数组:

      $row = $result->fetch_assoc();
    • 如果只需要一个值,从PHP 8.2开始:

      $value = $result->fetch_column();
    • 或者对于旧版本:

      $value = $result->fetch_row()[0] ?? false;

    下面是不同用例的完整示例

    在查询中使用的变量

    当查询中需要使用变量时,必须使用预处理语句。例如,假设我们有一个变量$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 = "SELECT fullname, email FROM users ORDER BY ssid"; $result = $conn->query($query); // 如果需要一个数组 $row = $result->fetch_assoc(); // 或者如果只需要一个值 $value = $result->fetch_row()[0] ?? false;
      最新下载
      更多>
      网站特效
      网站源码
      网站素材
      前端模板
      关于我们 免责声明 Sitemap
      PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!