Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/MySQL:当结果总是一行时,如何修改工作选择_Php_Mysql_Select - Fatal编程技术网

PHP/MySQL:当结果总是一行时,如何修改工作选择

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 =

我是PHP和MySQL新手,正在寻找以下方面的帮助

通常,当我需要从数据库中提取数据时,我知道结果将比我提取的数据多出一行,并将其存储为一个数组,如下所示,以供在PHP中进一步使用,PHP的工作方式符合预期:

$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];

无论如何谢谢你的帮助

谢谢你,我在这里找到了一种适合我的方法(见下文)。