如何在 PHP 中使用两个带有用户定义变量的 MySQL 查询


how can i use two mysql query with user defined variable in php

select @min_price:=min(prd_sale_price),@max_price:=max(prd_sale_price) from ct_product;
select * from ct_product where prd_sale_price=@min_price or prd_sale_price=@max_price;

此查询在 mysql 控制台中工作

$query = "
select @min_price:=min(prd_sale_price),@max_price:=max(prd_sale_price) from ct_product;
select * from ct_product where prd_sale_price=@min_price or prd_sale_price=@max_price;
";
$result = mysql_query($query);

此代码在 PHP 中引发错误

所以,我试过这个

$query="
select * from ct_product, (select @min_price:=min(prd_sale_price),@max_price:=max   (prd_sale_price) from ct_product) as b 
where prd_sale_price=@min_price or prd_sale_price=@max_price
";
$result = mysql_query($query);

有效

$query = "
select @min_price:=min(prd_sale_price),@max_price:=max(prd_sale_price) from ct_product;
select * from ct_product where prd_sale_price=@min_price or prd_sale_price=@max_price;
";
$result = mysql_query($query);

这段代码在不修改的情况下作为我的第二种方式可以很好地工作吗?

使用两个调用来mysql_query

$query1 = "select @min_price:=min(prd_sale_price),@max_price:=max(prd_sale_price) from ct_product";
$query2 = "select * from ct_product where prd_sale_price=@min_price or prd_sale_price=@max_price";
mysql_query($query1);
mysql_query($query2);

变量与数据库连接相关联,因此它们将在调用之间保留。

PHP 中的

mysql_query()一次只能处理一个查询

不能使此方法同时处理 2 个查询

我可以建议对每个查询使用 mysql_query((