繁体   English   中英

我如何在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()进行每个查询

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM