当前位置: 首页 > 知识库问答 >
问题:

mysqli_查询在一个include中工作,而不是在另一个include中工作

高兴贤
2023-03-14

我有两个include文件(fill_boxMain.php和fill_boxBottom.php)。这两个都包含在my index.php中,用于按顺序填充两个div的内容。

例如:

<div><?php require_once 'includes/fill_boxMain.php' ; ?></div>   
<div><?php require_once 'includes/fill_boxBottom.php' ; ?></div>

第一个(fill_boxMain.php)工作正常。无论我如何安排或更改代码,第二个都会失败,并且会出现相同的可重复错误。i、 e.mysqli_查询($dbc,$q)失败。

选择查询在phpMyAdmin中运行良好。出于测试目的,我现在在两个“include”中都有完全相同的前三行代码——如下所示。我在SOF上读过很多相关的帖子,尝试过一些建议,但都不管用。在这里,我找到了使用“throw new Exception()”而不是die()进行错误处理的建议,并重新编写了代码,如图所示。谢谢你的邀请。

<?php
require_once 'dbConnect.php' ; //open connection to $dbc
$q = "SELECT * FROM tunes ORDER BY `tunes`.`title` ASC";    
if (!$r = mysqli_query($dbc,$q)) { 
    throw new Exception("Error description: " . mysqli_error($dbc)) ;}  
?>

我得到的错误代码是:

警告:mysqli_query():无法获取mysqli在C:\xampp\htdocs\Woodweb\包括\fill_boxBottom.php在第4行

警告:mysqli_error():无法在第4行的C:\xampp\htdocs\woodeb\includes\fill_boxBottom.php中获取mysqli

致命错误:未捕获的异常'异常',消息'错误描述:'在C:\xampp\htdocs\Woodweb\包括\fill_boxBottom.php: 4堆栈跟踪:#0 C:\xampp\htdocs\Woodweb\index.php(31):require_once()#1{main}抛出在C:\xampp\htdocs\Woodweb\包括\fill_boxBottom.php在第4行

那个“致命错误”看起来很重要,但我不知道它是什么意思。任何解决此问题的帮助都将不胜感激。

共有1个答案

冀弘济
2023-03-14

看起来问题在于dbConnect.php的require_once。我假设fill_main也通过require_oncedbConnect.php;调用db。如果是这种情况,当它fill_bottom时,require_once将不会触发,dbConnect.php代码也不会发生。

 类似资料: