ERREUR DU FORUM.PHP

forum.php

<?php
session_start();

include('bd/connexionDB.php');


$req = $DB->query("SELECT *
FROM forum
ORDER BY ordre");

$req = $req->fetchAll();
?>

<!DOCTYPE html>
<html>
<head>
<base href="/"/>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<title>Forum</title>
<link rel="stylesheet" href="../css/bootstrap.min.css"/>
<link rel="stylesheet" href="../css/style.css"/>
</head>

<body>
<?php
require_once('../menu.php');
?>

<div class="container">
<div class="row">

<div class="col-sm-0 col-md-0 col-lg-0"></div>
<div class="col-sm-12 col-md-12 col-lg-12">
<h1 style="text-align: center">Forum</h1>

<div class="table-responsive" style="margin-top: 10px">
<table class="table table-striped">
<tr>
<th>ID</th>
<th>Titre</th>
</tr>
<?php
foreach($req as $r){
?>
<tr>
<td>
<?= $r['id'] ?>
</td>
<td>
<a href="forum/<?= $r['id'] ?>"><?= $r['titre'] ?></a>
</td>
</tr>
<?php
}
?>
</table>
</div>
</div>
</div>
</div>

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
</body>
</html>

database :

<?php

$db_host = "localhost"; //je cache mes infos de ma base de donnée.
$db_name = "db name";
$db_user = "db user";
$db_pass = "mdp";


$conn = new mysqli($db_host, $db_user, $db_pass, $db_name);

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>

Fatal error: Uncaught Error: Call to a member function query() on null 
et : Notice: Undefined variable: DB
Par Glacerock le 09 May 2018
Cette pub permet au site de vivre ...

1 Commentaire

Tu veux participer ?
Alors connecte toi ou inscris toi et viens participer !
Clouder
Le 09 May 2018
Bonjour Glacerock,

C'est tout à fait normal que tu es une erreur car tu utilises ma fonction query() mais dans ton fichier de connexion à ta BDD tu ne l'as pas implémenté


Utilise ceci :

// Déclaration d'une nouvelle classe
class connexionDB {
private $host = 'localhost'; // nom de l'host
private $name = 'name_bdd'; // nom de la base de donnée
private $user = 'root'; // utilisateur
private $pass = 'root'; // mot de passe
private $connexion;

function __construct($host = null, $name = null, $user = null, $pass = null){
if($host != null){
$this->host = $host;
$this->name = $name;
$this->user = $user;
$this->pass = $pass;
}
try{
$this->connexion = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->name,
$this->user, $this->pass, array(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES UTF8',
PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
}catch (PDOException $e){
echo 'Erreur : Impossible de se connecter à la BDD !';
die();
}
}
public function query($sql, $data = array()){
$req = $this->connexion->prepare($sql);
$req->execute($data);

return $req;
}
public function insert($sql, $data = array()){
$req = $this->connexion->prepare($sql);
$req->execute($data);
}
}

// Faire une connexion à votre fonction
$DB = new connexionDB();