ホームページ >バックエンド開発 >PHPチュートリアル >mysqlデータベースへのphpリンク

mysqlデータベースへのphpリンク

WBOY
WBOYオリジナル
2016-07-29 09:09:051117ブラウズ

PHP でデータベースに接続する方法は 3 つありますが、mysql_connect を介した mysql_query 接続が廃止され、現在は「オブジェクト指向方式」と「PDO」を介してデータベースに接続することが推奨されていることがわかりました。方法"。

オブジェクト指向で接続したところ、クエリ結果が中国語で表示されませんでした。インターネット上にある解決策のほとんどは古い接続方法のものでしたが、ようやく解決策を見つけました。

一般的な接続方法は次のとおりです:

<span><?php
</span><span><span>header</span><span>(</span><span>"Content-type: text/html; charset=utf-8"</span><span>);
</span><span>$mysql_url</span><span>=</span><span>"localhost"</span><span>;</span><span>//</span><span>数据库服务器的地址
</span><span>$mysql_username</span><span>=</span><span>""</span><span>;</span><span>//</span><span>数据库用户名的名称
</span><span>$mysql_password</span><span>=</span><span>""</span><span>;</span><span>//</span><span>连接数据库的密码
</span><span>$mysql_database</span><span>=</span><span>""</span><span>;</span><span>//</span><span>数据库的名字
</span><span>$db</span><span>=</span><span>new </span><span>mysqli(</span><span>$mysql_url</span><span>,</span><span>$mysql_username</span><span>,</span><span>$mysql_password</span><span>,</span><span>$mysql_database</span><span>);
</span><span>if</span><span>(</span><span>mysqli_connect_error</span><span>()){</span><span>//</span><span>数据库连接失败时提示
</span><span>echo </span><span>'Could not connect to database.'</span><span>;
</span><span>exit</span><span>;
</span><span>}
</span><span>mysqli_query</span><span>(</span><span>$db</span><span>,</span><span>'set names utf8'</span><span>);</span><span>//</span><span>给查询结果设置编码
</span><span>$result</span><span>=</span><span>$db</span><span>->query(</span><span>"SELECT * FROM yc_brand"</span><span>);</span><span>//</span><span>此处</span><span>sql</span><span>语句表面不能加单引号或双引号
</span><span>$all</span><span>=</span><span>$result</span><span>->fetch_all();</span><span>//</span><span>获取结果集中的所有数据</span><span>var_dump</span><span>(</span><span>$all</span><span>);
</span><span>?></span>

クエリ結果はオブジェクト $result であるため、直接出力して使用することはできません。

オブジェクトのメソッドを呼び出して、オブジェクトを配列または他の表現に変換できます。

より一般的に使用されるものは fetch_row、fetch_array、fetch_all です

1. fetch_row()

$row = $result->fetch_row()

このメソッドで取得される $row は1 次元配列の場合、毎回 1 セットの「レコード」しか取得できません。つまり、10 セットのレコードがあるはずであることが判明した場合、毎回 1 セットのレコードのみが返されます。

while ループを使用して、毎回クエリされる 1 次元配列を 1 次元配列にロードして、2 次元配列 (10 セットのレコードを含む 2 次元配列など) を形成する必要があります。

このメソッドの特徴は次のとおりです: クエリされた 1 次元配列のキー名は、デフォルトで 0 から始まる番号になります

$row = $result-> ()

このメソッドは一般に fetch_row と同じです。それらの違いは、fetch_array() で見つかった 1 次元配列の各列が 2 つのキー値を持つことです。元のテーブルの列名は自動的にそれぞれになります。キー値名も0

3から自動的にソートされるキー値名になります。実際、出力される $rows は 2 次元配列であり、「fetch_row メソッドが 1 次元配列を保存するために循環した 2 次元配列 $rows と同等」であり、直接出力できます。

上記は、内容の側面も含めて、MySQL データベースへの PHP リンクを紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。