I want to improve my non-existing PHP knowledge. To do so I created a MySQL DB and a connection.php file with an SQL query (please ignore SQL injection comments for now, I am aware of it). I trying to figure out, how I can split the connection from the actual query.
JavaScript
x
<?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);
My thoughts were to create another PHP file and add $connection = mysqli_connect (require('connection.php'))
to receive the connection string. Unfortunately, I receive a path error.
Advertisement
Answer
Keeping your code as is then:
File connection.php
:
JavaScript
<?php
$username = "root";
$password = "root";
$host = "localhost";
$database="test";
$connection = mysqli_connect($host, $username, $password, $database);
The main file
JavaScript
<?php
header("Access-Control-Allow-Origin: *");
require 'connection.php';
$myNodesQuery = "
SELECT * FROM nodes";
// whatever follows
Please note that – unless you use a framework – it would be much better if you build your reusable connection class or connection-returning function. And BTW consider using the far superior PDO.