ホームページ > php教程 > php手册 > PHPの操作を詳しく解説 mysql関数、mysqlとphp対話関数

PHPの操作を詳しく解説 mysql関数、mysqlとphp対話関数

WBOY
リリース: 2016-06-13 12:10:02
オリジナル
989 人が閲覧しました

1. 接続を確立して閉じる
1) mysql_connect()
resource mysql_connect([string hostname [:port][:/path/to/socket][,string username] [,string]パスワード]])
すべてのパラメータはオプションです
例:
@mysql_connect(“localhost”, “user”, “password”)
or die(“mysql サーバーに接続できませんでした !”) ;
@ 記号は、失敗した試行によって発生するエラー メッセージが禁止されていることを意味します。
複数の mysql に接続する場合は、そのエラー メッセージが表示されることに注意してください。各接続の ID は次のように指定する必要があります。
$link1 = @mysql_connect(“server1″, “user”, “password”)
or die(“MySQL サーバーに接続できませんでした!”)
$link2 = @mysql_connect("server2", "user", "password")
or die("mysql サーバーに接続できませんでした!")
2) mysql_pconnect()
resource mysql_pconnect ([string ホスト名 [:ポート][:/path/to/socket][,string ユーザー名] [,string パスワード]])
mysql_connect() との違いは次のとおりです。次の場合、まず既存のリンクを検索します。存在しません
接続はプールに配置されるため、明示的に接続 (mysql_close()) を閉じる必要がないことに注意してください。そのため、それは永続接続と呼ばれます。
3) mysql_close()
boolean mysql_close([resource link_id] )
MySQL のガベージ コレクションで処理できるため、接続を閉じる必要はありません。
link_id が指定されていない場合は、最新のリンクが閉じられます。
2. データベースを選択します
mysql_select_db()
boolean mysql_select_db(string db_name [, resource link_id])
3. MySql をクエリします
1) mysql_query( )
resource mysql_query(string query [, resource link_id ])
クエリの実行を担当します。
2) mysql_db_query()
resource mysql_db_query(string database, string query [, resource link_id])
mysql_select_db() mysql_query() と同等です。パラメータから見ても明らかです。
1) mysql_result() mixed mysql_result(resource result_set) , int row [,mixed field])
result_set の指定された行からフィールドのデータを取得します。
例:


コードをコピーします。 > コードは次のとおりです: $link1 = @mysql_connect(“server1″, “webuser”, “password”)

or die(「mysql サーバーに接続できませんでした」 !”);

@mysql_select_db(“company”) または die(“データベースを選択できませんでした!”);
$query = “名前による製品の順序から ID、名前を選択”; mysql_query($query);
$id = mysql_result($ result, 0, “id”);
$name = mysql_result($result, 0, “name”); 🎜>

上記のコードは結果のみを出力することに注意してください。すべてのレコードを出力したい場合は、セット内の最初のデータのフィールド値をループで処理する必要があります。

コードをコピー

コードは次のとおりです:



for ($i = 0; $i { $id = mysql_result($result, 0, “id”); $name = mysql_result($result, 0, “name”); : $name ($id)”; } …


注、クエリフィールド名がエイリアスの場合、そのエイリアスは
2) で使用されます。 mysql_fetch_row()
array mysql_fetch_row(resource result_set)
result_set から行全体を取得し、データを配列に入れます。
例 (list との賢い組み合わせに注意してください):



コードをコピー


コードは次のとおりです。



$query = “名前による製品注文から ID、名前を選択”; >$result = mysql_query($query);
while(list($id, $name) = mysql_fetch_row($result)) {

echo "製品: $name ($id)"; 3) mysql_fetch_array()

array mysql_fetch_array(resource result_set [,int result_type])

mysql_fetch_row() の拡張バージョン
result_set の各行を取得します。
デフォルトで 2 つの配列を取得します。result_type を設定できます:
MYSQL_ASSOC: 連想配列を返します。フィールド名=>フィールド値
MYSQL_NUM: 数値インデックスを返します。 array.
MYSQL_BOTH: 2 つの配列を取得します。したがって、各フィールドはインデックス オフセットまたはフィールド名によって参照できます。


コピー コード

コードは次のとおりです:



$query = “製品の名前順に ID、名前を選択”;
$result = mysql_query($query); while($row = mysql_fetch_array($result, MYSQL_BOTH)) {
$name = $row['name'];//または $name = $ row[1]; id'];//または $name = $row[0];
echo “製品: $name ($id)”
}

;
4) mysql_fetch_assoc()
array mysql_fetch_assoc(resource result_set)
mysql_fetch_array($result, MYSQL_ASSOC) と同等
5) mysql_fetch_object()
object mysql_fetch_object(resource result_set)
とmysql_fetch_array() も同じ関数ですが、配列ではなくオブジェクトを返します。
例:

コードをコピーします コードは次のとおりです。 🎜>


$query = "製品の名前順に ID、名前を選択";
$result = mysql_query($query)
while($row = mysql_fetch_object($) result)) {
$name = $row->name;
$name = $row->id;
echo “製品: $name ($id)”; 🎜>…



5. 選択されたレコードと影響を受けるレコード


1) mysql_num_rows() int mysql_num_rows(resource result_set)
result_set 内の行を返します。
mysql_num_rows() は、select ステートメント クエリによって取得されるレコードの数を決定する場合にのみ有効であることに注意してください。insert/updata/delete クエリによって影響を受けるレコードの数を取得したい場合は、mysql_affected_rows を使用する必要があります。 ().
2) mysql_affected_rows()
int mysql_affected_rows([resource link_id])
挿入/更新/削除クエリによって影響を受けるレコードの数を取得します
パラメータは必要ないことに注意してください。デフォルトでは、最後に確立されたデータベース接続の最新の結果が使用されます。オプションのパラメータ link_id を使用してデータベース接続を選択できます。

1) mysql_list_dbs( )
resource mysql_list_dbs([resource link_id])
サーバーのデータベース名に関するすべての情報を取得します。例:


コードをコピーします

コードは次のとおりです。

mysql_connect(“localhost”, “name”, "pwd"); $dbs = mysql_list_dbs(); = mysql_fetch_row(dbs)) { echo "$db
";

}



出力結果は、使用されたユーザー権限に関連していることに注意してください。 ) mysql_db_name()
string mysql_db_name(resource result_set, integerindex)
mysql_list_dbs() で返された result_set を取得します。インデックスとして中心位置を持つデータベース名です。
3) mysql_list_tables()
resource mysql_list_tables (string database [,resource link_id])

データベース内のすべてのテーブル名を取得します。
4) mysql_tablename()
string mysql_tablename(resource result_set, integer Index)
インデックスのテーブル名を取得します。 mysql_list_tables() によって返される result_set
PHP の COM および .Net (Windows) 関数を学習しているときに、COM を介して SQL SERVER を操作する例を見つけ、関連情報を見つけたので、接続についてこの記事を思いつきました。 PHP でアクセスする方法は、すでにインターネット上にたくさんあると思いますので、ここに掲載します。
私のマシン環境: WIN2000、APACHE2、PHP バージョン 5.1.0RC1



コードをコピー

コードは次のとおりです:

< ;?php $conn = new COM(“ADODB.Connection”) または die(“ADODB.Connection を開始できません”); $conn->Open(“Provider=Microsoft.Jet.OLEDB”) .4.0 ;Data Source=D:\php5\netBook.mdb”); $rs = $conn->Execute(“select * from manage”); // Recordset$num_columns = $rs- > ;Fields->Count();

echo $num_columns . "
n";

for ($i=0; $i < $num_columns; $i ) > $fld[$i] = $rs->Fields($i);
}
$rowcount = 0;
while (!$rs->EOF) {
for ( $ i=0; $i < $num_columns; $i )
{
echo htmlspecialchars($fld[$i]->value) . < ;br />n”;
$rowcount ; // 行数が増加します
$rs->Close();データセット
$conn->Close();


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