在进行mysql查询时,将php变量设置为无穷大

在进行mysql查询时,将php变量设置为无穷大,php,mysql,Php,Mysql,假设我想进行以下php/mysql查询 $days=10; 'SELECT * from database WHERE days<$days' $days=10; '从数据库中选择*天只需将$days设为一个非常大的数字:$days=99999999999变量或SQL中没有无穷大的概念 或者,如果您只需要所有的时间,您可以这样做: $days=10; //set days to 0 for infinity $appendQuery = ""; if($days > 0) { $a

假设我想进行以下php/mysql查询

$days=10;
'SELECT * from database WHERE days<$days'
$days=10;

'从数据库中选择*天只需将
$days
设为一个非常大的数字:
$days=99999999999
变量或SQL中没有无穷大的概念

或者,如果您只需要所有的时间,您可以这样做:

$days=10; //set days to 0 for infinity
$appendQuery = "";
if($days > 0) { $appendQuery = "WHERE days = " . $days; }

$sql = 'SELECT * from database' . $appendQuery;

然后,如果将
$days
设置为0,则WHERE子句不会追加到查询中。这很难看,但它只是一个解决办法,只需设置一个非常高的数字,而且在大型记录集上查询速度更快。

您能不能将其设置为一个非常高的数字?999999考虑使用不同的查询来处理“我想要一切”的情况,因为它会更快。你可以利用一个优势,比如你的天数永远不会变为负数,因此查询将是
SELECT*from database WHERE days>-1
如果$days是无穷大,那么你就不需要WHERE子句。使用简单查询(
SELECT*fromtable\u name
$days=10; //set days to 0 for infinity
$appendQuery = "";
if($days > 0) { $appendQuery = "WHERE days = " . $days; }

$sql = 'SELECT * from database' . $appendQuery;