この記事では、PHP で MySQL データベースにクエリを実行するいくつかの方法とそれらの違いを紹介します。必要な方は参考にしてください。
phpがmysqlを操作する手順: 1. $connect=mysql_connect('localhost','root','123456') または die('データベース接続に失敗しました。'mysql_error()); mysql にリンクします。 2. mysql_select_db('database',$connect) は、リンクされたデータベースを選択します。 3. mysql_query('名前を設定 gb2312'); $sql = "select * from blog_article"; クエリするデータを準備します。 4. $datas = mysql_query($sql); SQL クエリを実行します。 5. $data = mysql_fetch_assoc($datas) は、メモリにキャッシュされているクエリされたデータ部分を取得します。 6.print_r($data);類似点: 3 つの関数はすべて、データベース内でクエリされたデータの行を返します (より明確に言うと、それはデータの行です)。 違い: mysql_fetch_assoc() は、データベース内の対応するフィールド名をキー値 (つまり、配列の添え字) として使用します (例: filed['id']=1; )mysql_fetch_row() は、自動的に生成された数値 (0 から開始して順番に生成) をキー値 (つまり、配列の添字) として使用します。たとえば、 filed[0]=1; mysql_fetch_array() は、自動的に生成された数値 (0 から順に生成される) をキー値 (つまり、配列の添字) として使用し、データベース内の対応するフィールド名もキー値 (つまり、配列の添字) として生成します。 ) (標準) 以下のような: filed[0]=1, filed['id']=1; つまり、mysql_fetch_array() は mysql_fetch_assoc() と mysql_fetch_row() の結果を 1 つに結合します。 mysql_fetch_object() は mysql_fetch_assoc() とほぼ同じです。 mysql_fetch_assoc() が配列を返すだけです。 mysql_fetch_object() は object オブジェクトを返します。 mysql_insert_id() は、前の INSERT 操作によって生成された ID を取得します。 mysql_result() 関数は、結果セット内のフィールドの値を返します。 mysql_num_fields() 関数は、結果セット内のフィールドの数を返します。 mysql_affected_rows();前の MySQL 操作によって影響を受けたレコード行の数を返します。 mysql_num_rows(mysql_query($sql)) は、結果セット内の行数を取得します。 mysql_pconnect() 関数は、MySQL サーバーへの永続的な接続を開きます。 mysql_pconnect() と mysql_connect() は非常に似ていますが、主な違いは次のとおりです。 1. 接続するとき、この関数はまず、同じホスト上で同じユーザー名とパスワードで開かれている (永続的な) 接続を検索します。見つかった場合は、新しい接続を開かずに接続 ID が返されます。 2. 次に、スクリプトの実行時に SQL サーバーへの接続は閉じられず、接続は将来の使用のために開いたままになります (mysql_close() は、mysql_pconnect() によって確立された接続を閉じません)。 mysql_data_seek(mysql_query($sql),8); 結果セットの 8 番目のデータを取得します。 (mysql_num_rows(mysql_query($sql)) および mysql_data_seek(mysql_query($sql),8) は、mysql_unbuffered_query($sql) では使用できません。) mysql_unbuffered_query($sql) と mysql_query($sql) は同様の効果がありますが、mysql_unbuffered_query($sql) はキャッシュしません。 mysql_query($sql) はクエリ結果をキャッシュします。 mysql_close(); mysql への最新のリンクを閉じます。 mysql_field_flags(mysql_query($sql),6) は、not_null などの 6 番目のフィールドのテーブル属性出力を返します。 primary_key auto_increment 。 mysql_fetch_lengths(mysql_query($sql)) は、データ内のすべてのフィールドの各フィールドの長さを返します。返されるのは数値の配列です。 mysql_field_name(mysql_query($sql),3) は、3 番目のフィールドのフィールド名を返します。 mysql_field_table(mysql_query($sql),0) は、指定されたフィールドが存在するテーブル名を返します。 mysql_free_result(mysql_query($sql)) 関数は結果メモリを解放します。 mysql_get_client_info() 関数は、MySQL クライアント情報を返します。 mysql_get_host_info() MySQL ホスト情報を取得します。 |