gpt4 book ai didi

php - WordPress 主题功能在调用时不起作用

转载 作者:行者123 更新时间:2023-11-29 21:39:16 25 4
gpt4 key购买 nike

我有一个 WordPress 网站,我想在我的 functions.php 中保存并进行数据库连接

所以我可以在我的模板中调用它。以下是 functions.php

中的函数代码
<?php 

function dbconnd() {

$server = "localhost";
$duser = "wpuser";
$dpass = "wppass";
$dbname = "wpdb";

$conn = new mysqli($server, $duser,$dpass, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

}

?>

因此,在我的 main.php 中,如果我调用 dbconnd(); ,它似乎不起作用,因为它会抛出 fatal error ,如下例所示:

Fatal error: Call to a member function query() on a non-object in /main.php on line 49

<?php
dbconnd();
$sql = "SELECT * FROM orderform WHERE status='last';";
$result = $conn->query($sql); //this is line 49
?>

但在下面的情况下,当我不调用该函数时,它可以正常工作

 <?php
$server = "localhost";
$duser = "wpuser";
$dpass = "wppass";
$dbname = "wpdb";
$conn = new mysqli($server, $duser,$dpass, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM orderform WHERE status='last';";
$result = $conn->query($sql);
?>

最佳答案

按照您现在的方式,$conn 是仅在函数内部的局部变量。所以你无法通过这种方式获取函数外部的值。

最好的解决方案是这样的:

   function dbconnd() {

$server = "localhost";
$duser = "wpuser";
$dpass = "wppass";
$dbname = "wpdb";

$conn = new mysqli($server, $duser,$dpass, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
else
return $conn;

}

然后当您要调用该函数时,运行以下命令:

$conn = dbconnd();

另外,不要忘记在调用它的 php 文件中包含或需要functions.php 文件。

关于php - WordPress 主题功能在调用时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34667745/

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