将 db connection.php 与数据库查询分开

separate db connection.php from db queries

我想提高我不存在的 PHP 知识。为此,我创建了一个 MySQL 数据库和一个带有 SQL 查询的 connection.php 文件(请暂时忽略 SQL 注入注释,我知道)。我试图找出如何将连接与实际查询分开。

<?php

header("Access-Control-Allow-Origin: *");

$username = "root"; 
$password = "root";   
$host = "localhost";
$database="test";

$connection = mysqli_connect($host, $username, $password, $database);

$myNodesQuery = "
SELECT * FROM nodes";

$query = mysqli_query($connection, $myNodesQuery);

if ( ! $query ) {
    echo mysqli_error();
    die;
}

$data = array();

for ($x = 0; $x < mysqli_num_rows($query); $x++) {
    $data[] = mysqli_fetch_assoc($query);
}

//echo json_encode($data, JSON_FORCE_OBJECT);     
echo json_encode($data);

mysqli_close($connection);

我的想法是创建另一个 PHP 文件并添加 $connection = mysqli_connect (require('connection.php')) 以接收连接字符串。不幸的是,我收到路径错误。

保持代码不变:

文件connection.php:

<?php
$username = "root"; 
$password = "root";   
$host = "localhost";
$database="test";
$connection = mysqli_connect($host, $username, $password, $database);

主文件

<?php
header("Access-Control-Allow-Origin: *");
require 'connection.php';

$myNodesQuery = "
SELECT * FROM nodes";
// whatever follows
... 

请注意 - 除非您使用框架 - 如果您构建可重用连接 class 或连接返回函数会更好。顺便说一句,考虑使用更高级的 PDO。