Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress主题函数在调用时不工作_Php_Mysql_Mysqli - Fatal编程技术网

Php Wordpress主题函数在调用时不工作

Php Wordpress主题函数在调用时不工作,php,mysql,mysqli,Php,Mysql,Mysqli,我有一个wordpress站点,我想在我的functions.php中保存并进行数据库连接 <?php function dbconnd() { $server = "localhost"; $duser = "wpuser"; $dpass = "wppass"; $dbname = "wpdb"; $conn = new mysqli($server, $duser,$dpass, $dbname); // Check connecti

我有一个wordpress站点,我想在我的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);
   }

   }

?>
所以我可以在我的模板中调用它。 以下是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);
   }

   }

?>
但在下面的情况下,当我不调用该函数时,它可以完美地工作

 <?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文件。

您可以使用class运行raw
SQL
。(
)它现在工作得很好,我没有包括require functions.php,只有$conn=dbconnd();包括康恩的回报,谢谢