嗨,每当我去http://localhost/blog/admin/index.php时,我的index.php都有问题我收到错误:致命错误:在C:\ xampp \ htdocs \中调用未定义的函数Blog \ DB \ connect()第6行的blog \ blog.php。在admin文件夹中,我需要我的blog.php。
的index.php
<?php
require '../blog.php';
?>
现在在blog.php
<?php
require 'functions.php';
require 'db.php';
$conn = Blog\DB\connect($config);
if( !$conn )
{
die('couldnt connect to the database');
}
现在在db.php中
<?php namespace Blog\DB;
require 'config.php';
function connect($config)
{
try{
$conn = new \PDO('mysql:host=localhost;dbname=blogs',
$config['DB_USERNAME'],
$config['DB_PASSWRORD']);
$conn->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
return $conn;
}
catch(PDOException $e)
{
return false;
}
}
答案 0 :(得分:0)
最终,你需要拥有像这样的全局命名空间
$conn = \Blog\DB\connect($config); // mind the \ before Blog
或者根本没有定义函数(connect()
)。
答案 1 :(得分:0)
当您调用函数时,您正在调用blog.php中的函数,而不是错误指示的db.php。为了解决这个问题,你必须包括db.php(可能已经包含在 require 中),然后正常调用函数,例如。
include db.php
$conn = connect($config)