有一个条件,如果不满足,那么我只想返回任何行,因为我的应用程序不会选择任何行,并且不会在前端显示任何记录消息。还有其他专业的方法吗?
现在我使用以下查询不返回任何行。
select 0
where 1 = 0
即使您没有返回任何行,您仍然返回一个模式。大多数应用程序都希望返回相同的架构,而不管行数有多少。即使返回 0 行。
如果您可以更改正在使用
sp_executesql
执行的@SqlStr中的SQL,我将插入到该查询中的临时表中,然后返回从该临时表中选择的结果:
Select * from #myTempTable where <conditionRequiredForResults>
您说过您不想在前端返回任何行,也不返回任何内容。既不是消息也不是行。 您只需要使用 if 语句来避免将任何内容返回到前端
require_once 'db_connection.php';
$sql = "SELECT * FROM table_name WHERE <your filtering Condition>";
$result = mysqli_query($db_connection, $sql);
if (mysqli_num_rows($result) > 0) {
// If row to be fetched is more than 0
// Return something Example:
echo "Rows detected";
} else {
// If there is no row to be fetched
// Return nothing
}
如果没有从数据库获取行,这应该不返回任何内容
SELECT TOP 0 NULL
这将返回具有一个未命名列且没有行的模式。对于任何您想要故意不返回任何内容的人来说,这是可读的,因为您使用了 TOP 0 和 NULL。没什么。