データ|データベース
MySQL は小型で優れたデータベース サーバー ソフトウェアであり、中小規模のアプリケーション システムに非常に理想的です。標準の ANSI SQL ステートメントのサポートに加えて、最も重要なことは、MySQL は Unix/Linux システム上でマルチスレッド操作をサポートし、非常に優れたパフォーマンスを実現できることです。 PHP や Apache と同様、オープンソース ソフトウェアです。公式 Web サイトは http://www.mysql.com で、Windows、Linux、および Unix バージョンのソース コードのダウンロードが提供されます。
MySQL アクセス関数を実行するには、対応する権限が必要であることに注意してください。一般的に使用される関連関数は次のとおりです:
(1)integer mysql_connect(host, username, password);
この関数は、指定されたホスト上の MySQL データベースへの接続を開始します。データベースが別のポート上にある場合は、ホスト名の後にコロンとポート番号を追加します。すべてのパラメータはオプションであり、デフォルトではローカル ホスト、ユーザーが実行するスクリプトの名前、および空に対応します。ホストには IP アドレスまたはドメイン名を指定できます。
スクリプトの実行の最後に、接続は自動的に閉じられます。または、mysql_close を使用して事前に接続を閉じることもできます。
(2)boolean mysql_create_db(データベース名);
データベースを作成します。データベースを作成する権限を持つアカウントを使用して接続を開く必要があることに注意してください。
(3)boolean mysql_select_db(データベース名, 接続番号);
デフォルトのデータベースを選択します。
(4)integer mysql_query(SQL ステートメント, 接続番号);
指定されたデータベースをクエリします。 SQL ステートメントが選択されている場合、結果番号が返されます。それ以外の場合、戻り値は無視できます。失敗した場合は false を返します。
(5)array mysql_fetch_array(結果番号);
次の行をフェッチし、配列を返します。数値の添字 (最初のフィールドは添字 0) を使用してアクセスできます。または、文字列の添字を使用してアクセスできます。 、各フィールド名を使用)。最後の行がフェッチされた場合は false を返します。
(6)mysql_fetch_row(結果番号);
結果セット内の行のすべてのフィールドを表す行列を返します。呼び出しごとに次の行が生成され、行がなくなるまで false が返されます。各フィールド値は、ゼロベースのオフセットによってインデックスが付けられます。これは、クエリから結果を取得する最も速い方法です。
(7)integer mysql_num_rows(結果番号);
は結果セット内の行数を返します
(8)integer mysql_num_fields(結果番号);
は結果セット内のフィールド数を返します。
(9)integer mysql_list_dbs();
サーバーにデータベース リストをクエリします。 mysql_fetch_row 関数および同様の関数で使用できる結果ポインターを返します。
(10)mysql_list_tables(データベース名);
指定されたデータベースのフォームリストを指す結果ポインタを取得します。この結果ポインターは、結果セットから行を取得する任意の関数で使用できます。
(11)mysql_close(接続番号);
データベースへの接続を閉じます。接続は mysql_connect によって開かれる必要があります。すべての非永続リンクはスクリプトの最後に自動的に閉じられるため、この関数の使用は厳密には必要ありません。
(12)mysql_pconnect(host, username, password);
これは mysql_connect と完全に似ていますが、一度確立されると、mysql_close 関数が使用されたり、プログラムが実行され、次回永続接続を確立しようとしたときに、システムが永続接続がすでに存在していることが判明した場合は、再作成せずに接続番号を直接返します。
以下は、MYSQL データベースを呼び出してページに表示する例です。
$pagesize = 5; //ページごとに 5 つのレコードを表示します
$host="localhost";
$user="user";
$password="psw"; ="book"; //クエリされるデータベース テーブルの名前
//MySQL データベースに接続します
mysql_connect("$host","$user","$password") または die("Unable to MySQL データベース サーバーに接続します ! ");
$db = mysql_select_db("$dbname") または die("データベースに接続できません!");
$sql = "合計として count(*) を選択してくださいpagetest";//クエリ レコードの数を生成します SQL ステートメント
$rst = mysql_query($sql) または die("SQL ステートメントを実行できません: $sql!"); // クエリ レコードの数
$row = mysql_fetch_array($rst) または die("No more Record! "); / レコードを取り出します
$rowcount = $row["total"] // レコードの数を取り出します
mysql_free_result($rst); die("結果リソースを解放できません!"); //結果リソースを解放します
$pagecount = bcdiv($rowcount+$pagesize-1,$pagesize,0);//合計ページ数を計算します
if( !isset($pageno)) {
$pageno = 1; // pageno が設定されていない場合、デフォルトではページ 1 が表示されます
}
if($pageno<1) {
$pageno = 1; //pageno が 1 より小さい場合は 1 に設定します
}
if($pageno>$pagecount) {
$pageno = $pagecount; //pageno が総ページ数より大きい場合はそれを設定します最後のページへ
}
if($pageno>0) {
$href = eregi_replace("%2f","/",urlencode($PHP_SELF));//中国語のディレクトリまたは中国語のファイル名を処理できるように、$PHP_SELF を URL で使用できる文字列に変換します
if($pageno>1){//前のページへのリンクを表示します
echo " One page ";
}
else{
echo "前のページ";
}
for($i=1;$i<$pageno;$i++){
echo "< a href="" . $href . $i . "">" . $i . ";
}
echo $pageno . " "; ($i++;$i<=$pagecount;$i++){
echo " ;/a> ";
}
if($pageno<$pagecount){//次のページへのリンクを表示します
echo "次のページ ";
}
else{
echo "次のページ";
}
$offset = ($ pageno-1) pagesize;//テーブル全体におけるこのページの最初のレコードの位置を計算します (最初のレコードは 0)
$sql = "select * from pagetest LIMIT $offset,$pagesize";/ /クエリする SQL ステートメントを生成しますこのページのデータ
$rst = mysql_query($sql);//このページのデータをクエリ
$num_fields = mysql_num_fields($rst);//フィールドの合計数を取得します
$i = 0;
while($i<$num_fields){//すべてのフィールドの名前を取得します
$fields[$i] = mysql_field_name($rst,$i);// i+1 番目のフィールドの名前を取得します
$i++ ;
}
echo "
$field_name | ";
---|