Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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&Mysqli-选择一列作为字符串而不是数组_Php_Database_Select_Mysqli - Fatal编程技术网

PHP&Mysqli-选择一列作为字符串而不是数组

PHP&Mysqli-选择一列作为字符串而不是数组,php,database,select,mysqli,Php,Database,Select,Mysqli,我想知道是否有一种方法可以使用PHP和MySQLI从数据库中选择某人的一个详细id,而不将其设置为数组。使用group\u concat: $query = 'SELECT GROUP_CONCAT(name SEPARATOR ", ") FROM tblUser'; if($result = $mysqli->query($query)) { $row = $result->fetch_object(); echo $row['name']; } 这将返回1个

我想知道是否有一种方法可以使用PHP和MySQLI从数据库中选择某人的一个详细id,而不将其设置为数组。

使用group\u concat:

$query = 'SELECT GROUP_CONCAT(name SEPARATOR ", ") FROM tblUser';

if($result = $mysqli->query($query)) {
    $row = $result->fetch_object();
    echo $row['name'];
}
这将返回1个列名和1个值,即表中每个用户标识的逗号分隔列表/字符串

示例表:

tblUser
+--------+-----------+
| userid | name      |
+--------+-----------+
|  3     |    Joe    | 
|  4     |    Mike   |
|  5     |    Sharon | 
+--------+-----------+
使用上述查询将返回:

+----------------------+
| name                 |
+----------------------+
| `Joe, Mike, Sharon`  |
+----------------------+
使用组_concat:

$query = 'SELECT GROUP_CONCAT(name SEPARATOR ", ") FROM tblUser';

if($result = $mysqli->query($query)) {
    $row = $result->fetch_object();
    echo $row['name'];
}
这将返回1个列名和1个值,即表中每个用户标识的逗号分隔列表/字符串

示例表:

tblUser
+--------+-----------+
| userid | name      |
+--------+-----------+
|  3     |    Joe    | 
|  4     |    Mike   |
|  5     |    Sharon | 
+--------+-----------+
使用上述查询将返回:

+----------------------+
| name                 |
+----------------------+
| `Joe, Mike, Sharon`  |
+----------------------+

可以将结果放入对象中,然后选择列。 例如,要从查询中选择列名,可以使用

$query = $mysqli->query("SELECT * FROM `table` WHERE `id` = '1'");
echo $query->fetch_object()->name;
而不是使用更常见的

$query = $mysqli->query("SELECT * FROM `table` WHERE `id` = '1'");
$data = $query->fetch_array();
echo $data['name'];

如果查询返回多行,您可以将其放入while查询中,就像使用一组结果数组一样。

您可以将结果放入一个对象中,然后选择列。 例如,要从查询中选择列名,可以使用

$query = $mysqli->query("SELECT * FROM `table` WHERE `id` = '1'");
echo $query->fetch_object()->name;
而不是使用更常见的

$query = $mysqli->query("SELECT * FROM `table` WHERE `id` = '1'");
$data = $query->fetch_array();
echo $data['name'];

如果查询返回多行,您可以将其放入一个while查询中,就像使用一组结果数组一样。

这是不可能的。由于数据库处理列和行,几乎所有API都至少有一个使用列表和数组的表示

但您可以相对快速地轻松获得单一结果:

// Query results a single result
$result = $mysqli->query("SELECT somecolumns FROM table WHERE somecondition");
$row = $result->fetch_row();
echo $row[0]; // The desired field

那是不可能的。由于数据库处理列和行,几乎所有API都至少有一个使用列表和数组的表示

但您可以相对快速地轻松获得单一结果:

// Query results a single result
$result = $mysqli->query("SELECT somecolumns FROM table WHERE somecondition");
$row = $result->fetch_row();
echo $row[0]; // The desired field


你能详细说明一下吗?MySQLI select查询返回一个结果集,必须迭代该结果集才能从返回的每一行中获取属性。是否要返回一行或多行?这不只是一个写一个好的查询的问题吗?我的意思是说只选择某人的一个detailid。你能详细说明一下吗?MySQLI select查询返回一个结果集,必须迭代该结果集才能从返回的每一行中获取属性。是否要返回一行或多行?这不就是写一个好的查询的问题吗?我的意思是只选择某人的一个detailid。我想他想要的是,当他获取结果集时,获取一个字符串,而不是一个数组。我的意思是只选择某人的一个detailid。就像我上面更新的示例一样?我想他想要的是,当他获取结果集时,获取一个字符串而不是数组意味着只选择某人的一个detailid。就像我上面更新的示例一样?我的意思是只选择某人的一个detailid。jocabEid$query=$mysqli->querySELECT name FROM table,其中id='1';正在选择一列,由于提到了其中的id=1,它正在选择一个值。我的意思是只选择某人的一个detailid。jocabEid$query=$mysqli->querySELECT name FROM table where id='1';我的意思是说只选择某人的一个detailid。我的意思是说只选择某人的一个detailid。