我有一部分此查询(这有效):
group_concat(`tag`.`name`) as `tags`
我将其更改为此选项以将空格添加为分隔符而不是逗号:
group_concat(`tag`.`name` ASC SEPARATOR ' ') as `tags`
现在它不再适用于此错误:
Trying to get property 'num_rows' of non-object in.
这是我的php循环来获得结果:
$result = $conn->query($sql_query);
while($row = $result ->fetch_assoc()) {
.. the rest
有谁知道为什么$ result突然不再是一个对象?
答案 0 :(得分:2)
您在GROUP CONCAT
上添加了ASC
和SEPARATOR
。 SEPARATOR
部分很好,但ASC
没有ORDER BY
就无法使用GROUP_CONCAT(`tag`.`name` ORDER BY `tag`.`name` ASC SEPARATOR ' ') AS `tags`
。所以你的查询无效。您可以改为使用以下查询:
false
您正在使用mysqli::query
执行查询并获取结果。如果您的查询无效且无法执行,则会获得$result = $conn->query($sql_query);
//check the return value.
if ($result === false) {
echo 'something went wrong';
} elseif ($result === true) {
echo 'query executed successfully (not a SELECT statement)';
} else {
while($row = $result ->fetch_assoc()) {
//...
}
}
而不是mysqli_result
对象。因此,您可以改进代码,如下所示,以确保只有对象可用才能访问:
$result === true
注意:如果您使用SELECT
语句,则不需要dotnet run
C:\Users\barn\source\repos\FLG\docker-compose.dcproj : error MSB4236: The SDK 'Microsoft.Docker.Sdk' specified could not be found.
The build failed. Please fix the build errors and run again.
条件。