ホームページ > バックエンド開発 > PHPチュートリアル > PHP が MySQL にリンクするための一般的な拡張関数、php が mysql_PHP にリンクするためのチュートリアル

PHP が MySQL にリンクするための一般的な拡張関数、php が mysql_PHP にリンクするためのチュートリアル

WBOY
リリース: 2016-07-13 10:16:14
オリジナル
850 人が閲覧しました

MySQL にリンクする PHP、mysql にリンクする PHP の共通拡張関数

1.PHPデータベース接続と基本操作

MySQL は「クライアント/サーバー」アーキテクチャを使用します。 PHP によってインストールされた MySQL 拡張機能を使用する場合も、クライアント ソフトウェア領域を使用して MySQL データベース サーバーに直接アクセスする場合も、原理は同じです。SQL コマンドを MySQL 管理システムに送信し、結果をユーザーに返す必要があります。

PHP では、SQL は 2 つのカテゴリに分類されます (SQL ステートメントの分類を参照)。1 つは、実行後に結果セット (select/desc テーブル名など) を返す DQL ステートメントで、2 つ目は、実行後に結果セットを処理する必要があります。 DML、DDL などの結果セットを持たない DQL ステートメント。ただし、DML ステートメントが正常に実行されると、データ テーブル内のレコードに影響を与えます。

リーリー

2. PHP プロセスはクエリ結果セットを選択します

PHP で select ステートメントを実行すると、各フィールドの処理に使用できる結果セットが返されます

リーリー

結果セット内のデータにアクセスする必要がある場合は、次の 4 つの関数のいずれかを使用できます (すべて結果セットのリソース識別子をパラメーターとして受け取り、自動的に次のレコードを返し、テーブルの最後に false を返します) )

1. mysql_fetch_row(): この関数は結果レコードを返し、それを通常のインデックス データとして保存します

2. mysql_fetch_assoc(): 結果セットから行を取得し、関連データとして保存します

3. mysql_fetch_array(): 結果セットから行を連想配列、数値配列、またはその両方として取得します。 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 <font face="NSimsun">$result</font>): 結果セット内の各出力の長さを取得します

7. mysql_result(resource <font face="NSimsun">$result</font> , int <font face="NSimsun">$row[,mixed $field]</font> , int <font face="NSimsun">$row[,mixed $field]</font>): MySQL 結果セット内のユニットの内容を返します。 field パラメーターには、フィールドのオフセットまたはフィールド名、あるいはフィールド テーブル ポイントのフィールド名 (tablename.fieldname) を指定できます。列にエイリアスが与えられている場合 ('select foo as bar from...')、列名の代わりにエイリアスが使用されます。 mysql_result() の呼び出しを、結果セットを処理する他の関数と組み合わせることはできません。

mysql関数を接続するためのphpアプリケーション

mysql_fetch_array() 関数は、結果セットから行を連想配列、数値配列、またはその両方としてフェッチします。
結果セットから取得した行に基づいて配列を返します。行がない場合は false を返します。

mysql_fetch_array(data,array_type)
パラメータデータ: オプション。仕様では使用するデータポインタを指定します。このデータ ポインタは、mysql_query() 関数の結果です。
パラメータ: array_type オプション。返される結果の種類を指定します。このパラメータのオプションの値: MYSQL_ASSOC - 連想配列
MYSQL_NUM - 数値配列
MYSQL_BOTH - デフォルト。連想配列と数値配列の両方を生成します。
注: mysql_fetch_array() は mysql_fetch_row() の拡張バージョンです。データを数値インデックスとして配列に保存するだけでなく、フィールド名をキーとして使用して、データを連想インデックスとして保存することもできます。

例:
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
{
die('接続できませんでした: ' . mysql_error() );
}

$db_selected = mysql_select_db("test_db",$con);
$sql = "SELECT * from Person WHERE Lastname='Adams'";
$result = mysql_query($sql,$con);
print_r(mysql_fetch_array($result));

mysql_close($con);
?>
出力は次のようになります:
Array
(
[0] => Adams
[LastName] => Adams
[1 ] = > ジョン
[名] => ロンドン
[都市] => ロンドン
)
/////////// /// ///
mysql_fetch_assoc() 関数は、結果セットから行を連想配列としてフェッチします。
結果セットから取得した行に基づいて生成された連想配列を返します。行がない場合は false を返します。
mysql_fetch_assoc(data)
パラメータ: data (必須) 使用されるデータ ポインタ。データ ポインタは、mysql_query() から返された結果です。

注: mysql_fetch_assoc() は、mysql_fetch_array() に 2 番目のオプションのパラメータ MYSQL_ASSOC を加えたものを使用することとまったく同じです。連想配列を返すだけです。これは、mysql_fetch_array() の最初の動作方法でもあります。
ヒント: リレーショナル インデックスに加えて数値インデックスが必要な場合は、mysql_fetch_array() を使用します。
注: この関数によって返されるフィールド名は大文字と小文字が区別されます。

例は次のとおりです:
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
{
die('接続できませんでした: ' . mysq ......残りのテキスト>>

PHP接続用mysql関数

完全なコードが見えなかったので、次のように見たコードのみに答えてみました:


1. 注意: 未定義の変数: C:\xampp\htdocs\shop\files\mysql.php の db 5
警告: 未定義の変数 db (5 行目のコードのどの行にあるのかわかりません)。

既知のコードの観点から見ると、このエラー メッセージの理由は、関数本体の外で定義された変数 (db) をコードの観点からは実際には気付かなかったことが原因であるはずです。変数スコープ (グローバル、ローカル) のアプリケーションの問題が正しくありません。

簡単に言えば、関数 select_mycx で db が見つかりません。

解決策:

(1) パラメータを指定して渡します。

function select_mycx($table,$by,$select_str,$number,$db)
{
.....
}

(2) パラメータ本体でグローバル変数参照を定義します:

function select_mycx( $table,$by,$select_str,$number)
{
global $db;

....
}

2.致命的なエラー: C の非オブジェクトに対するメンバー関数 query() の呼び出し: \xampp\htdocs\shop\files\mysql.php の 5 行目

このエラーは実際には上記のエラーが原因で、$db が正しく導入されていないため、当然クエリは正しく実行できません。

http://www.bkjia.com/PHPjc/898292.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/898292.html技術記事 PHP が MySQL にリンクするための一般的な拡張機能、PHP が mysql にリンクするための関数 1. データベースに接続するための PHP と基本操作 MySQL は「クライアント/サーバー」アーキテクチャを使用します。 PHPによってインストールされたMySQL拡張機能を使用し、直接...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート