在“管理”菜单上的字符串上调用成员函数prepare()

mec1mxoz  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(154)

我创建了一个自定义管理菜单:

function new_menu() {
    add_menu_page(
        'New Menu',
        'New Menu',
        'administrator',   
        'new_menu',
        'new_menu_content'
    );
}

添加操作('管理菜单','新建菜单');
在新菜单中,我从数据库中获取了一些数据:

function fishing_data_content($conn){
    require_once(get_template_directory() . '/connect.php');
    require_once(get_stylesheet_directory() . '/data.php');
}

这个 connect.php 连接到数据库:

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "data";
try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, 
$password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);    
}catch(PDOException $e){
    echo "Error: " . $e->getMessage();
}

以及 data.php 从数据库获取一些数据:

$stmt = $conn->prepare('SELECT * FROM posts');
    $stmt->execute();
    $values = $stmt->fetchAll();
    foreach($values as $val){
        echo $val . '<br>';
    }
}

我还试图要求data.php中的连接文件:

require_once(dirname(__FILE__) . '/connect.php');

但仍然有同样的错误:

Fatal error: Call to a member function prepare() on string in /home/public_html/wordpress/wp-content/themes/theme/data.php on line 10

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题