在同一文档中复用SQL语句

时间:2016-01-19 21:10:49

标签: php sql mysqli

正确的愚蠢问题: - /

我对某事有点怀疑。我开始有很多不同的文档,我在其中调用单个sql查询。有没有办法,所以我可以在同一个文档中使用我的SQL查询?

Fx的:

<div class="gamewrapper">
            <div class="todaygametext">
                <p>Todays Game</p>
            </div>
            <div class="todaysgame" id="game">
                <?php include('game.php');?>
            </div>
            <div class="allgametext">
                <p>All Games</p>
            </div>

            <div>
                <?php include('games.php');?>
            </div>

            <div>   
                <form class="gametimeclear" method = "post" action = "delete.php">
                    <input name="delete" type="submit" id="delete" value="Delete">
                </form>
            </div>
        </div>

我的第一个包含游戏有这个查询:

$result = $mysqli->query("SELECT COUNT(*) FROM numbertable WHERE DATE(numdate) = CURDATE()");

我的第二部游戏包含此查询:

$result = $mysqli->query("SELECT * FROM number table;

有没有办法在同一个文档中查询?

问题更新: 我想在同一份文件中提到这两个问题:

$result = $mysqli->query("SELECT COUNT(*) FROM numbertable WHERE DATE(numdate) = CURDATE()");

$result = $mysqli->query("SELECT * FROM number table;

1 个答案:

答案 0 :(得分:0)

从技术上讲,您可以将两个查询放在一个文件中,将结果保存在不同的变量中,并在包含的PHP文件中使用这些变量(&#34; game.php&#34;&#34; games.php&#34 )。

例如,您可以在脚本的顶部添加以下内容:

$todaysGameCount = $mysqli->query("SELECT COUNT(*) FROM numbertable WHERE DATE(numdate) = CURDATE()");

$allGames = $mysqli->query("SELECT * FROM numbertable");

然而,这可能会非常快速地混淆并且可能导致难以跟踪的错误;在包含的脚本中使用变量之前,您无法确定变量是否存在。 如果你想把你的SQL全部放在一个文件中,我建议创建一个类并将查询放在那里,如下所示:

class GameDB 
{

    protected $mysqli;

    public function __construct($mysqli)
    {
        $this->mysqli = $mysqli;
    }

    public function getAllGames()
    {
        return $this->mysqli->query("SELECT * FROM numbertable");
    }

    public function getGameCount()
    {
        return $this->mysqli->query("SELECT COUNT(*) FROM numbertable WHERE DATE(numdate) = CURDATE()");
    }

}

然后,您可以在包含文件中使用该类,例如:

$gameDB = new GameDB($mysqli);

$allGames = $gameDB->getAllGames();