ホームページ > バックエンド開発 > PHPチュートリアル > mysqli_connect と mysql_connect の違い

mysqli_connect と mysql_connect の違い

WBOY
リリース: 2016-06-13 12:53:08
オリジナル
897 人が閲覧しました

mysqli_connect と mysql_connect の違い
先輩方、mysqli と mysql の違いを詳しく教えてくれる時間はありますか?初心者なので混乱しています。
mysqliを使用してデータベース出力をクエリすると文字化けが発生します。解決方法がわかりません。他の人が書いたコードを見ると、mysqlを使っている場合は、mysql_query("set names 'GBK'")でエンコードを変更できますが、これを直接mysqli_query("set names 'GBK'")に変更するとエラーになります。通報されてしまいますが、どうしようもありません。


-----解決策---------
mysqli_set_charset('データベースに接続', '設定したエンコーディング');
-----解決策---------------------------- ---
1: Mysqli.dll は、データベースをオブジェクトまたはプロシージャの形式で操作できるようにするデータベースであり、その使用も非常に簡単です。ここでは、いくつかの一般的な操作と mysql.dll の比較を示します。
1: mysql.dll (機能的な方法として理解できます):

$conn = mysql_connect('localhost', 'user', 'password') //mysql データベースに接続します
mysql_select_db('data_base') //データベースを選択します

$result = mysql_query('select * from data_base');//ここには 2 番目のオプションのパラメータがあり、開いている接続を指定します

$row = mysql_fetch_row($result)) //簡単にするために、ここでは 1 行のデータのみを取得します
echo $row[0] //最初のフィールドの値を出力します

Mysqli にも手続き型メソッドがありますが、mysqli の接頭辞で始まるだけで、他はほぼ同じです。 mysqli が手続き型で動作する場合、一部の関数は mysqli_query (リソース識別子、SQL ステートメント) などのリソースを指定する必要があり、リソース識別子のパラメーターは前に配置されますが、mysql_query (SQL ステートメント、「オプション」) のパラメーターは前に配置されます。リソース識別子は最後に配置され、デフォルトで最後に開かれた接続またはリソースになります。

2mysqli.dll (オブジェクトモード):

$conn = new mysqli('localhost', 'user', 'password','data_base');
//ここでの接続は新しいものです。最後のパラメータはデータベースを直接指定するものであり、mysql_select_db() は必要ありません。 //構築時に指定することもできません。その場合は $conn -> select_db('data_base')

$result = $conn -> query( 'select * from data_base' );
$row = $result -> fetch_row() // データの行を取得します
echo row[0] //最初のフィールドの値を出力します

2: mysql_fetch_row()、mysql_fetch_array()

これら 2 つの関数は配列を返します。違いは、最初の関数によって返される配列には $row[0],
のみが含まれることです。 $row[1]、このように、データは配列添字を使用して読み取られ、mysql_fetch_array() によって返される配列には最初のタイプとキー値
の両方が含まれます。 正しい形式では、次のようにデータを読み取ることができます (データベースフィールドがユーザー名、パスワードの場合):

$row['ユーザー名']、$row['パスワード']

また、($row as $kay => $value) で操作すると、データベースのフィールド名を直接取得することもできます。
さらに重要なのは、mysqli は php5 によって提供される新しい関数ライブラリであり、(i) は改良されており、その実行速度が高速化されています。 ----------------------------------------

SQL エラーは、mysqli を間違って呼び出していることが原因です
参照:
$conn = new mysqli('localhost', 'user', 'password','data_base');
//ここでの接続は新しいものです。最後のパラメータはデータベースを直接指定するものであり、mysql_select_db() は必要ありません。 //構築時に指定することもできません。その場合は $conn -> select_db('data_base')

$result = $conn -> query( 'select * from data_base' );



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