gpt4 book ai didi

PHP PDO - 实例化 PDO 对象时使用未定义的常量变量

转载 作者:行者123 更新时间:2023-11-29 11:48:29 28 4
gpt4 key购买 nike

我正在使用 XAMPP 3.2.1 在 Windows 7 上使用 PDO,但在使其正常工作时遇到问题,即使它可以在我的共享托管服务器。

settings.php

<?php
define('DB_NAME', 'testdb'); //DB Name
define('DB_HOST', 'localhost'); //DB host
define('DB_USER','root'); //DB user
define('DB_PASSWORD', ''); //DB users password
?>

db.php

<?php

require_once("settings.php");

$db = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8', DB_USER, DB_PASSWORD);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

?>

输出.php

<?php

require_once("db.php");

function outPutPosts(){
return $db->query("select * from replies limit 35"); <-- this line
}

?>

它出现的错误:

Notice: Undefined variable: db in C:\xampp\htdocs\schoolplatform\output.php on line 10

Fatal error: Call to a member function query() on null in C:\xampp\htdocs\schoolplatform\output.php on line 10

任何帮助将不胜感激:)

最佳答案

此问题是因为 $db 无法在函数内部直接访问。您可以使用 global 关键字在函数内部访问它,如下所示:

function outPutPosts(){
$db= $_GLOBAL['db'];
return $db->query("select * from replies limit 35");
}

关于PHP PDO - 实例化 PDO 对象时使用未定义的常量变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34541685/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com