Php mysqli错误调试
我一直在构建一个xml解析器,它应该将所有xml文件从一个文件夹中删除,解析后主题应该将数据保存在mysql表中。毕竟,我得到了以下错误。我不确定我做错了什么,我应该如何调试它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
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抱歉,感谢您的帮助