如何解决如果在另一个 php 文件中初始化,为什么 PDO 会崩溃?
我有一个名为“dbv”的 PDO 对象。我在我的 config.php 包含文件中初始化它。它给出了错误:
“致命错误:在 null 上调用成员函数 prepare()”。
刷新几次后,还说:
“注意:未定义变量:dbv”
但它不会说类似的东西
“无法打开流 config.php”
如果我在 config.php 文件中剪切所有内容并将其直接粘贴到我的 $dbv->prepare()
function
上方,在 sections.php 中的 drawHeader()
内,它可以工作很好。
如何在 config.php 中初始化我的 PDO?
我有 3 个文件:
php/config.php(我在其中初始化 PDO)
php/sections.php(我的 drawHeader() 和 pdo->prepare() 函数失败了)
main.php(我在浏览器中打开的主页)
这是我的代码:
config.php:
<?php
$database="dbname";
$username="dbuser";
$password="dbpass";
$dbv=new PDO("mysql:host=localhost;port=3308;dbname=".$database,$username,$password);
?>
sections.php:
<?php
function drawHeader() {
if (!isset($_SESSION["LIMBA"])) {
$_SESSION["LIMBA"]="ro";
}
$limba=$_SESSION["LIMBA"];
echo '
<!DOCTYPE html>
<html lang="'.$limba.'">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300&display=swap" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="css/stylesheet.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<title>My title</title>';
$query="SELECT * FROM pagini_statice WHERE URL=?";
$stmt=$dbv->prepare($query);
$stmt->bindValue(1,$_SESSION['URL']);;
$stmt->execute();
$pag=$stmt->fetch();
echo $pag["CSS"];
//the rest of the code .....
main.php:
<?php
include("php/config.php");
include_once("php/sections.php");
session_start();
$_SESSION["URL"]="pagina.php";
drawHeader();
drawFooter();
?>
解决方法
您需要require
/include
config.php 文件,例如:
<?php
require_once 'your/path/to/config.php';
function drawHeader() {
if (!isset($_SESSION["LIMBA"])) {
$_SESSION["LIMBA"]="ro";
}
$limba=$_SESSION["LIMBA"];
echo '
<!DOCTYPE html>
<html lang="'.$limba.'">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300&display=swap" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="css/stylesheet.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<title>My title</title>';
$query="SELECT * FROM pagini_statice WHERE URL=?";
$stmt=$dbv->prepare($query);
$stmt->bindValue(1,$_SESSION['URL']);;
$stmt->execute();
$pag=$stmt->fetch();
echo $pag["CSS"];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。