Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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 mysqli错误调试_Php_Mysqli - Fatal编程技术网

Php mysqli错误调试

Php mysqli错误调试,php,mysqli,Php,Mysqli,我一直在构建一个xml解析器,它应该将所有xml文件从一个文件夹中删除,解析后主题应该将数据保存在mysql表中。毕竟,我得到了以下错误。我不确定我做错了什么,我应该如何调试它 Warning: mysqli::prepare(): Couldn't fetch mysqli in E:\xampp\htdocs\XML_Parser\index.php on line 38 我的代码 class XMLFeeds{ public $obj; protected $db_c

我一直在构建一个xml解析器,它应该将所有xml文件从一个文件夹中删除,解析后主题应该将数据保存在mysql表中。毕竟,我得到了以下错误。我不确定我做错了什么,我应该如何调试它

Warning: mysqli::prepare(): Couldn't fetch mysqli in E:\xampp\htdocs\XML_Parser\index.php on line 38
我的代码

class XMLFeeds{

    public $obj;

    protected $db_connect;

    function __construct(){     
        // Read feeds and pass it to parser
        $this->db_connect = @new mysqli('loalhost', 'root', '', 'test');
        foreach(glob("feeds/*xml") as $filename) {
            $obj = $this->parsing_feed(file_get_contents($filename, FILE_TEXT) );
            $this->saveFeed($obj);
        }   
    }

    function parsing_feed($feed){       
        return simplexml_load_string($feed);        
    }   

    function saveFeed($obj){
        foreach ($obj as $row){

                $stmt = $this->db_connect->prepare("INSERT INTO tbl 
                        ( id,
                          prod_name,
                          category,
                          description,
                          image_url,
                          keywords,
                          sku,
                          target_url,
                          price,
                          warranty,
                          shipping_costs,
                          impressionurl,
                          lastupdated ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");

                if ($stmt === FALSE) {
                    die($mysqli->error);
                }

                $stmt -> bind_param("ssi",
                         $row->name,
                         $row->advertisercategory,
                         $row->description,
                         $row->imageurl,
                         $row->keywords,
                         $row->sku,
                         $row->buyurl,
                         $row->price,
                         $row->standardshippingcostm,
                         $row->impressionurl,
                         $row->lastupdated );
                $stmt ->execute();
        }
    }
}

$parse = new XMLFeeds();

发生这种情况的原因是,由于本地主机拼写错误,无法成功建立与数据库的连接。 您在使用@new实例化mysqli类时忽略了错误

尝试删除@,并检查连接是否未通过异常建立,否则将继续执行代码

    <?php
    $this->db_connect = new mysqli('localhost', 'root', '', 'zanox');
    if($this->db_connect->connect_error){
       throw new Exception('unable to connect, '. $this->db_connect->connect_error);
    }

不应抑制数据库连接上的错误。。。。特别是由于错误可能就在那里(
loalhost
)yepp to wear,键入error抱歉,感谢您的帮助