gpt4 book ai didi

php - 使用 php “高效”从 MySQL 表中获取单个值

转载 作者:行者123 更新时间:2023-11-29 10:58:33 27 4
gpt4 key购买 nike

我需要帮助了解如何使用过程样式从 MySQL 表的一行中“高效”提取一个字段/列/单元格(即一条信息)。可怕的长方法会是这样的:

$Qry = "SELECT Surname FROM SurnameList WHERE SID = 8 LIMIT 1";
$QryResult = mysqli_query($DBLink, $Qry);
if ($QryResult)
{
$QryRow = mysqli_fetch_assoc($QryResult);
$ThisSurname = $QryRow['Surname'];
mysqli_free_result($QryResult);
}
else
{
die("Transaction Failure");
}

乌格。对我来说,这可以在保持可读性的同时进行压缩:

if ($QryResult = mysqli_query($DBLink, "SELECT Surname FROM SurnameList WHERE SID = 8 LIMIT 1") {
$QryRow = mysqli_fetch_assoc($QryResult);
$ThisSurname = $QryRow['Surname'];
mysqli_free_result($QryResult);
} else die("Transaction Failure");

即使如此压缩,仍然需要 5 行才能获取一条信息。是否有一种方法可以在程序风格中减少此任务的行数,同时保留可读性?有什么方法可以压缩/合并第 2 行和第 3 行吗?

最佳答案

您的代码足够短,不会对解析器的“效率”产生有意义的影响。也就是说,您可以通过仅在查询失败时将条件反转为 die 来修剪几行(一般提示,设计代码以避免使用 else)并一行获取所需的结果。

$QryResult = mysqli_query($DBLink, "SELECT Surname FROM SurnameList WHERE SID = 8 LIMIT 1");
if (!$QryResult) die("Transaction Failure");
$ThisSurname = mysqli_fetch_assoc($QryResult)['Surname'];
mysqli_free_result($QryResult);

我认为,如果您追求编码效率,那么您最好考虑使用类来处理这样的可重复逻辑:)。

关于php - 使用 php “高效”从 MySQL 表中获取单个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42632444/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com