gpt4 book ai didi

php - 在 PHP 中为 MYSQL 初始化一个 rownum 值

转载 作者:行者123 更新时间:2023-11-29 04:56:16 25 4
gpt4 key购买 nike

当我直接通过 phpMyAdmin 作为 SQL 运行时,我有一个查询工作正常,但是当我尝试在 PHP 中执行此操作时,它不起作用。我怀疑问题是因为我试图从生成的表中返回一个 rownum 值,而第一行的 SET 命令不起作用。这是一个按预期作为 SQL 工作的示例查询:

SET @rownum =0;
SELECT * FROM (
SELECT i.*, @rownum := @rownum +1 AS row, (
SELECT COUNT( * )FROM _votes WHERE i.id = image_id) AS total_votes,
(SELECT COUNT( * ) FROM _votes WHERE i.id = image_id AND voter_id = 67) AS voted
FROM _images AS i WHERE i.approved = 1 ORDER BY total_votes DESC )
AS T WHERE entrant_id IN (68,69,70,71)

(格式不正确请见谅)

两件事:

  • 此查询是否太长且效率低下?
  • 如果 @rownum 值来自 php 准备语句,我如何将其初始化为零?

我试过将 JOIN (SELECT @rownum :=0) r 添加到查询的末尾,但这不起作用。此外,我在查询中的各个点都尝试过这种连接方法,但均未成功。

php

$query = "SELECT * FROM ( SELECT i.*, @rownum := ...

最佳答案

SET 查询是不同的查询,您一次只能通过 PHP 发送一个查询。因此,运行 SET 查询,然后运行第二个查询。如果您使用相同的连接,MySQL 服务器将记住您的设置。

关于php - 在 PHP 中为 MYSQL 初始化一个 rownum 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6372426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com