请注意,这个问题不是关于 mysql 查询本身,而是关于如何从 php.ini 运行它。由于没有更好的术语,我将其称为多命令查询。我有一个在 mysql 命令行客户端和 phpmyadmin 中完美运行的查询,如下所示:
SET @counter = 0;
SET @category = '';
SELECT
*
FROM
(
SELECT
@counter := IF(press.newscat = @category, @counter+1, 0) AS counter,
@category := press.newscat,
press.*
FROM
(
SELECT
*
FROM press
ORDER BY newscat, added DESC
) press
) press
HAVING counter < 2 limit 50
我想在 php 脚本中执行相同的操作,但对于我的一生来说,不能。我尝试使用双子座事务,但这给出了一个结果......命令行和 phpmyadmin 给了我更多的结果......如预期的那样。
我有经验,并且精通通常的 mysql_fetch_object mysql_fetch_array 位...但是如何运行此查询?
就像是
$phpquery = mysql_query("SET @counter = 0;
SET @category = '';
SELECT
*
FROM
(
SELECT
@counter := IF(press.newscat = @category, @counter+1, 0) AS counter,
@category := press.newscat,
press.*
FROM
(
SELECT
*
FROM press
ORDER BY newscat, added DESC
) press
) press
HAVING counter < 2 limit 50")
...不起作用。
我的表结构很简单:
表名:按 newscat int(11) 不为空,标题 varchar (255)