ホームページ > バックエンド開発 > PHPチュートリアル > Mysqli には関連する問題がいくつかあります。見てみましょう

Mysqli には関連する問題がいくつかあります。見てみましょう

WBOY
リリース: 2016-06-13 12:44:47
オリジナル
880 人が閲覧しました

mysqli に何か問題があります。見てみましょう
私は、インスタンス化後にデータベースに直接クエリできる sqlhelper.class.php ツール クラスを作成しました。その後、mysqli を使用して作成しましたが、解決方法がわかりません。コードを参照してください。

<?php<br />
<br />
//这是一个工具类,他主要是完成对mysql的直接操作<br />
<br />
class SQLHelper{<br />
<br />
<br />
public $hosts;<br />
public $username;<br />
public $password;<br />
public $database;<br />
<br />
<br />
//构造函数主要是完成mysqli的对象的初始化<br />
public function __construc($a,$b,$c,$d){<br />
<br />
$mysqli=new MySQLi($a,$b,$c,$d);<br />
if($mysqli->connect_error){<br />
die("数据库连接出错!".$mysqli->connect_error);<br />
}<br />
<br />
$mysqli->query("set names utf8") or die("数据库设置字符集出错!");<br />
<br />
}<br />
<br />
<br />
//下面是一个查询方法,你给我传一个sql语句,我给你返回一个二维数组<br />
public function dql($mysql){<br />
<br />
$res=$mysqli->query($mysql) or die("数据库查询出错!");//dql查询语句这里返回一个结果集,我们将结果集处理为二维数组,同时释放结果集内存<br />
$resarr=array();<br />
<br />
while($row=$res->fetch_row()){ //这里是结果集自拆,同时每拆一次产生一行数组式的数组,我们将其放在一个二维数组里面<br />
<br />
$resarr[]=$row;<br />
<br />
}<br />
<br />
//如果代码走到这里,表明二维数组已经取完,我们立即释放结果集内存,同时返回二维数组<br />
$res->free();<br />
return $resarr;<br />
<br />
}<br />
<br />
<br />
//关闭资源<br />
public function closeresource(){<br />
<br />
$mysqli->close();<br />
<br />
}<br />
<br />
<br />
<br />
}<br />
<br />
?>
ログイン後にコピー



オブジェクトをインスタンス化した後、メイン プロンプトでは、コンストラクター内の $mysqli が定義されておらず、オブジェクトではないため、後続のコードを実行できないことが示されます。

Notice: Undefined variable: mysqli in D:\web\notebook\model\sql.php on line 30<br />
<br />
Fatal error: Call to a member function query() on a non-object in D:\web\notebook\model\sql.php on line 30
ログイン後にコピー

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート