我想设置一个在mysqli查询中使用的变量。这不太奏效。在mysqli之前,我曾经设置过查询调用。我玩db-> multi_query($ sql)没有运气。那里的任何人都知道如何使这项工作包括一个集合声明?
$sql = 'SET @rownum := 0;';
$sql .= 'SELECT @rownum :=@rownum + 1 AS Rank, User_Id, COUNT(User_ID) AS Block_Count
FROM Block_Owners;
$stmt = $db->prepare($sql);
$stmt->bind_param('ii', $world, $userId);
// execute the query
$stmt->execute();
答案 0 :(得分:7)
在两个单独的查询中执行:
$db->query('SET @rownum := 0');
$sql = 'SELECT @rownum :=@rownum + 1 AS Rank, User_Id, COUNT(User_ID) AS Block_Count FROM Block_Owners'
$stmt = $db->prepare($sql);
$stmt->bind_param('ii', $world, $userId);
$stmt->execute();
但请注意,您要运行的查询将始终返回单行(Rank = 1
),因为您使用的是不带GROUP BY
的聚合函数。