使用SET变量statment查询Mysqli(即多个查询)

Cod*_*ezy 2 php mysql sql mysqli

我想设置一个变量用于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();
Run Code Online (Sandbox Code Playgroud)

Qua*_*noi 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();
Run Code Online (Sandbox Code Playgroud)

但请注意,您要运行的查询将始终返回单行(with Rank = 1),因为您使用的是聚合函数GROUP BY.