PHP&Mysqli-选择一列作为字符串而不是数组
我想知道是否有一种方法可以使用PHP和MySQLI从数据库中选择某人的一个详细id,而不将其设置为数组。使用group\u concat: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个
$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。