![](/img/trans.png)
[英]how to fetch multiple columns containing multiple values using a specific value from single table in PHP/MYSQL
[英]'Efficiently' fetch single value from MySQL table using php
我需要幫助了解如何使用過程樣式從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行的某種方法?
您的代碼足夠短,不會對解析器的“效率”產生有意義的影響。 就是說,您可以通過僅在查詢失敗(通用技巧,設計代碼以避免使用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);
我認為,如果您追求編碼效率:),考慮使用類來處理可重復的邏輯將非常有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.