ホームページ >バックエンド開発 >PHPチュートリアル >PHP のその他のメモ
Mysql の一般的なコマンド
1. mysql -uroot -padmin -- ログイン、ユーザー名: root、パスワード: admin (自分で設定)
2. データベースを表示; データベースを表示
PHP プログラムがデータベースにアクセスします
PHP プログラムがストアド プロシージャを使用することは完全に可能です。ストアド プロシージャを使用する方が保守が容易であると考える人もいます。しかし、この問題については、DBA と開発者がより協力する必要があると思います。それらのいずれかが変更されると、明らかに保守が困難になります。
ただし、ストアド プロシージャを使用することには、速度と効率という 2 つの最も明らかな利点があります。
ストアド プロシージャを使用した方が明らかに高速です。
効率の観点から、アプリケーションが一連の SQL 操作を一度に実行する必要がある場合、PHP と ORACLE の間を行き来する必要があります。ラウンド数を減らすために、アプリケーションをデータベースに直接配置する方が良いでしょう。出張が可能になり、効率が向上します。
ただし、インターネット アプリケーションでは速度が非常に重要であるため、ストアド プロシージャを使用する必要があります。
私も少し前に PHP を使用してストアド プロシージャを呼び出し、次の例を実行しました。
コード:---------------------------------------------- -- ----------------------------------
//TEST テーブルを作成する
CREATE TABLE TEST (
ID ) NUMBER (16) NOT NULL,
NAME VARCHAR2(30) NOT NULL,
//データを挿入します
INSERT INTO TEST VALUES (5, 'PHP_BOOK');
//ストアド プロシージャを作成します
CREATE OR REPLACE PROCEDURE PROC_TEST (
p_id IN OUT NUMBER,
p_name OUT VARCHAR2
) AS
BEGIN
SELECT NAME INTO p_name
FROM TEST
WHERE ID = 5;テスト
/
---------------------------------------------------- ---- ------------------------
PHP コード:--------------- --- --------------------------------------------------- --- -----------
//データベース接続を確立します
$user = "scott"; conn_str = "tnsname" //接続文字列 (cstr: Connection_STRing) )
$remote = true //リモート接続
if ($remote) {
$conn = OCILogon($user, $password, $conn_str)
}
else {
$conn = OCILogon($user, $password); ;
}
//バインディングを設定する
$id = 5; //バインディング用の php 変数名を準備する
/**ストアド プロシージャを呼び出す SQL ステートメント (sql_sp: SQL_StoreProcedure)
* 構文:
* * BEGIN ストアド プロシージャ名 ([[:] パラメータ])
* コロンを追加すると、パラメータが位置であることを示します
**/
$sql_sp = "BEGIN PROC_TEST(:id, :name); END ;";
//解析
$stmt = OCIParse ($conn, $sql_sp);
//バインディングを実行
OCIBindByName($stmt, ":id", $id, 16); //パラメータの説明: Bind PHP 変数 $id を location:id に設定し、固定バインド長を 16 ビットに設定します
OCIBindByName($stmt, ":name", $name, 30); //Result
echo "name is : $name
?>
Web サイトの作成に慣れている人にとって、Web サイトを動的にしたい場合は、データベースをサポートし、特定のスクリプトを使用してデータベースからデータを抽出したり、データベースにデータを追加したり、データを削除したりする必要があります。ここでは例を使用して、php を使用してデータベースに接続する方法を説明します。
データベースの名前は txl です。データベースには、personal_info という 5 つのフィールドがあります
pi_id pi_name pi_tel pi_qq pi_email
まず、データベース:
データベース txl を作成します
次に、テーブルを作成します
CREATE TABLE `personal_info` (
`pi_id` bigint(20) NOT NULL auto_increment,
`pi_name` varchar(50) NOT NULL,
`pi_tel` varchar(15) デフォルト NULL,
`pi_qq` varchar(15) デフォルト NULL,
`pi_email` varchar( 50) デフォルト NULL,
PRIMARY KEY (`pi_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4;
上記の SQL ステートメントは非常に単純で、単語を読めばその意味が推測できます。
以下はデータベースに接続され、テーブルpersonal_info のすべてのフィールド情報を表示します。
// connsql.php
$mysql_server_name="localhost" //データベースサーバー名
$mysql_username="root"; // 接続データベースのユーザー名
$mysql_password="root" // データベースに接続するためのパスワード
$mysql_database="lxr"; // データベース名
// データベースに接続します
$conn=mysql_connect($mysql_server_name, $mysql_username,
$ mysql_password);
// テーブルから情報を抽出する SQL ステートメント
$strsql="select * frompersonal_info"
// SQL クエリを実行します
$result=mysql_db_query($mysql) _database、$strsql、$ conn);
// クエリ結果を取得する
$row=mysql_fetch_row($result);
echo '< ">';
// フィールド名を表示
echo "n