PHP/MySQL:当结果总是一行时,如何修改工作选择
我是PHP和MySQL新手,正在寻找以下方面的帮助 通常,当我需要从数据库中提取数据时,我知道结果将比我提取的数据多出一行,并将其存储为一个数组,如下所示,以供在PHP中进一步使用,PHP的工作方式符合预期:PHP/MySQL:当结果总是一行时,如何修改工作选择,php,mysql,select,Php,Mysql,Select,我是PHP和MySQL新手,正在寻找以下方面的帮助 通常,当我需要从数据库中提取数据时,我知道结果将比我提取的数据多出一行,并将其存储为一个数组,如下所示,以供在PHP中进一步使用,PHP的工作方式符合预期: $sql = "SELECT " . $selectedLang . ", tID, info FROM TranslationsMain WHERE location LIKE '%language main%' ORDER BY " . $selectedLang; $result =
$sql = "SELECT " . $selectedLang . ", tID, info FROM TranslationsMain WHERE location LIKE '%language main%' ORDER BY " . $selectedLang;
$result = $conn->query($sql);
while($arrLanguagesMain = $result->fetch_assoc()){
$languagesMain[] = $arrLanguagesMain;
}
现在我有一个场景,结果总是只有一行。
目前,我对此使用以下查询,但在这种情况下,我不需要数组(返回例如“array([en]=>English)
”)。这里我只需要它返回
$selectedLang
列中的值,在本例中,该列为“English
”
有人能告诉我,修改上述内容以使其返回单个值而不是创建数组的最佳/首选方法是什么吗
非常感谢 只需通过索引获取该数组的值:
$sql = "SELECT " . $selectedLang . " FROM TranslationsMain WHERE info = '" . $selectedLang . "'";
$result = $conn->query($sql);
while($arrSelectedTrans = $result->fetch_assoc()){
$selectedTrans = $arrSelectedTrans[$selectedLang];
//you can use break; here to make sure it runs only once
}
你可以尝试使用
我在这里找到了一种最适合我的方法: 选择单行:
$sql = "SELECT " . $selectedLang . " FROM TranslationsMain WHERE info = '" . $selectedLang . "' LIMIT 1";
$result = $conn->query($sql);
$selectedTrans = $result->fetch_assoc();
echo $selectedTrans[$selectedLang];
…并在页面上的某个地方重复:
$sql = "SELECT " . $selectedLang . " FROM TranslationsMain WHERE info = '" . $selectedLang . "' LIMIT 1";
$result = $conn->query($sql);
$selectedTrans = $result->fetch_assoc();
echo $selectedTrans[$selectedLang];
无论如何谢谢你的帮助 谢谢你,我在这里找到了一种适合我的方法(见下文)。