2016-04-24 8 views
-1

Dies wird wahrscheinlich dummes Problem sein, aber ich kann es nicht lösen."Prepare" PDO Funktion Fehler

Ich habe PDO-Verbindung (bdd.php)

<?php 
    $dbserver="localhost"; 
    $dbuser="root"; 
    $dbpass=""; 
    $dbname="calendar"; 

    $db = new PDO(
    "mysql:host=$dbserver;dbname=$dbname;" ,"$dbuser","$dbpass", 
    array(
     PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8", 
     PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET utf8" 
    ) 
); 
?> 

Aber ich erhalte diesen Fehler:

Fatal error: Call to a member function prepare() on a non-object on Index.php on row 6

Hier ist meine "index.php":

<?php 
require_once('bdd.php'); 

$sql = "SELECT id, title, start, end, color FROM events "; 

$req = $bdd->prepare($sql); 
$req->execute(); 

$events = $req->fetchAll(); 

?> 

<!DOCTYPE html> 
<html lang="en"> 

<head> 

    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <meta name="description" content=""> 
    <meta name="author" content=""> 

. .... (Fortsetzung ist normaler HTML/PHP/JS-Inhalt, nicht wichtig)

+1

Wo '$ bdd' kommen aus? – JimL

+0

Fehlerbericht hätte Ihnen hier geholfen. –

Antwort

3

Es sieht aus wie $req = $bdd->prepare($sql); ist, wo Ihr Problem herkommt.

Innerhalb bdd.php zuweisen Sie die Datenbankverbindung zu $db.

Ändern Sie einfach beide, so dass sie gleich sind.

Also entweder:

$bdd = new PDO(

Oder:

$req = $db->prepare($sql); 
+0

Kein Problem, bitte markieren Sie diese als Antwort :) –

+0

Ja, muss nur 4 Minuten warten, es hat eine Art Cooldown :) –

2

Ihre Variable Verbindung ist $ db, nicht $ BDD

Verwandte Themen