ホームページ >バックエンド開発 >PHPチュートリアル >PHP 用 MySQL 拡張機能: MySQL にアクセスするための PHP の共通拡張関数
出典: http://www.ido321.com/1024.html
1. データベースへの PHP 接続と基本操作
MySQL は「クライアント/サーバー」アーキテクチャを採用しています。 PHP によってインストールされた MySQL 拡張機能を使用する場合も、クライアント ソフトウェア領域を使用して MySQL データベース サーバーに直接アクセスする場合も、原理は同じです。SQL コマンドを MySQL 管理システムに送信し、結果をユーザーに返す必要があります。
PHP では、SQL は 2 つのカテゴリに分類されます (SQL ステートメントの分類を参照)。1 つは、select/desc テーブル名などの結果セットを返す DQL ステートメントで、2 つ目は、実行後に結果セットを処理する必要があります。 DML、DDL などの結果セットはありません ただし、DML ステートメントが正常に実行された後は、データ テーブル内のレコードに影響します。
<?php//连接数据库,常用参数是主机名、用户名和密码$link = mysql_connect('localhost','root','123456');//判断是否连接成功if(!$link){die('连接失败'.mysql.error()); //连接成功返回资源标识符,失败返回false,mysql_error显示错误信息}//选择数据库,mysql_error()只在调试中使用,再部署项目时就不要了,不然会泄露数据库信息mysql_select_db('test') or die('选择数据库失败'.mysql_error());//mysql_query()可以设置字符集和执行SQL语句mysql_query('set names utf-8');$sql = 'insert into test(id,name) values("1","dwqs")';$result = mysql_query($sql); //执行sql返回结果集//处理结果集,insert属于DML,会对表的记录有影响if($result && mysql_affected_rows() > 0){//mysql_insert_id()返回最后一条新纪录的auto_increment值echo '插入数据成功'.mysql_insert_id().'<br/>';}else{echo '插入数据失败,错误号:'.mysql_errno().'错误信息:'.mysql_error().'<br/>';}//关闭连接mysql_close($link);?>
2. PHP 処理の選択クエリ結果セット
PHP で select ステートメントを実行すると、各フィールドの処理に使用できる結果セットが返されます
$result = mysql_query('select * from test');//获取记录行的个数$rows = mysql_num_rows($result);//获取字段个数,即数据列$cols = mysql_num_fields($result);
する必要がある結果にアクセスする 集中データを収集するには、次の 4 つの関数のいずれかを使用できます (すべて結果セットのリソース識別子をパラメーターとして受け取り、自動的に次のレコードを返し、テーブルの最後に false を返します)。 ): この関数は結果を取得します レコードが返され、通常のインデックス データとして保存されます
2. mysql_fetch_assoc(): 結果セットから行を取得し、関連付けられたデータとして保存します
3. mysql_fetch_array():結果セットの行を連想配列、数値配列、または 2 つの両方として取得します。 MYSQL_ASSOC (連想配列形式)、MYSQL_NUM (インデックス配列形式)、および MYSQL_BOTH を 2 番目のパラメータとして使用して、返されるデータ形式を指定できます。
4. mysql_fetch_object(): 結果セットから行をオブジェクトとして取得し、各フィールドはオブジェクト モードでアクセスされます。
推奨事項: 特別な要件がない限り、mysql_fetch_array() を使用しないでください。同じ関数を高効率で実現するには、mysql_fetch_row() または mysql_fetch_assoc() を使用できます。
また、結果セットに関連してよく使用される関数が 3 つあります
5. mysql_data_seek(int $num): 内部結果のポインターを移動します。$num は、設定する新しい結果セット ポインターの行数です。
6. mysql_fetch_lengths(resource $result): 結果セット内の各出力の長さを取得します
7. mysql_result(resource $result, int $row[,mixed $field]): ユニットの内容を返しますMySQL の結果セット。 field パラメーターには、フィールドのオフセットまたはフィールド名、あるいはフィールド テーブル ポイントのフィールド名 (tablename.fieldname) を指定できます。列にエイリアスが与えられている場合 ('select foo as bar from...')、列名の代わりにエイリアスが使用されます。
mysql_result()の呼び出しを、結果セットを処理する他の関数と混合することはできません。
次の記事: WordPress を使用してカスタム登録フォーム プラグインを作成する方法