这可能是个愚蠢的问题,但我无法解决。
我有PDO连接(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"
)
);
?>
但是我收到了这个错误:
致命错误:在第6行的Index.php上的非对象上调用成员函数prepare()
这是我的“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="">
.....(继续是正常的HTML / PHP / JS内容,并不重要)
答案 0 :(得分:3)
$req = $bdd->prepare($sql);
似乎是您的问题所在。
在bdd.php
内,您将数据库连接分配给$db
。
只需更改它们中的任何一个即可。
所以:
$bdd = new PDO(
或者:
$req = $db->prepare($sql);
答案 1 :(得分:2)
你的连接变量是$ db,而不是$ bdd