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

时间:2009-11-20 23:17:27

标签: php sql mysql 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();

1 个答案:

答案 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的聚合函数。