PHP/MySQLリファレンス

Red Hat Linuxのページトップへ

http://www.php.net/manual/ja/ref.mysql.php
mysql_affected_rows 一番最近のクエリーで変更された行の数を得る
mysql_change_user アクティブな接続でログイン中のユーザーを変更する
mysql_client_encoding Returns the name of the character set
mysql_close MySQL接続を閉じる
mysql_connect MySQLサーバへの接続をオープンする
mysql_create_db MySQLデータベースを作成する
mysql_data_seek 内部的な結果ポインタを移動する
mysql_db_name データベース名を得る
mysql_db_query MySQLクエリーを送信する
mysql_drop_db MySQLデータベースを破棄(削除)する
mysql_errno 直近のMySQL処理からエラーメッセージのエラー番号を返す
mysql_error 直近に実行されたMySQLコールのエラーメッセージを返す
mysql_escape_string mysql_queryで使用するために文字列をエスケープする
mysql_fetch_array 連想配列、添字配列、またはその両方として結果の行を取得する
mysql_fetch_assoc 連想配列として結果の行を取得する
mysql_fetch_field 結果からカラム情報を取得し、オブジェクトとして返す
mysql_fetch_lengths 結果における各出力の長さを得る
mysql_fetch_object 結果の行をオブジェクトとして取得する
mysql_fetch_row 結果を添字配列として取得する
mysql_field_flags 結果において指定したフィールドのフラグを得る
mysql_field_name 結果において指定したフィールド名を得る
mysql_field_len 指定したフィールドの長さを得る
mysql_field_seek 結果ポインタを指定したフィールドオフセットにセットする
mysql_field_table 指定したフィールドが含まれるテーブルの名前を得る
mysql_field_type 結果において指定したフィールドの型を得る
mysql_free_result 結果保持用メモリを解放する
mysql_get_client_info MySQLクライアント情報を得る
mysql_get_host_info MySQLホスト情報を得る
mysql_get_proto_info MySQLプロトコル情報を得る
mysql_get_server_info MySQLサーバ情報を得る
mysql_info Get information about the most recent query
mysql_insert_id 直近のINSERTで生成されたIDを得る
mysql_list_dbs MySQLサーバ上で利用可能なデータベースのリストを得る
mysql_list_fields MySQL結果フィールドのリストを得る
mysql_list_processes List MySQL processes
mysql_list_tables MySQLデータベース上のテーブルのリストを得る
mysql_num_fields 結果におけるフィールドの数を得る
mysql_num_rows 結果における行の数を得る
mysql_pconnect MySQLサーバへの持続的な接続をオープンする
mysql_ping Ping a server connection or reconnect if there is no connection
mysql_query SQLクエリーをMySQLに送信する
mysql_real_escape_string Escapes special characters in a string for use in a SQL statement
mysql_result 結果データを得る
mysql_select_db MySQLデータベースを選択する
mysql_stat Get current system status
mysql_tablename フィールドのテーブル名を得る
mysql_thread_id Return the current thread ID
mysql_unbuffered_query Send an SQL query to MySQL, without fetching and buffering the result rows

ページ上部に戻る

mysql_affected_rows
(PHP 3, PHP 4, PHP 5)

mysql_affected_rows -- 一番最近のクエリーで変更された行の数を得る
説明
int mysql_affected_rows ( int [link_identifier] )


mysql_affected_rows()は、指定した link_identifier が指すサーバーにおいて直近 のINSERT、UPDATE、DELETEクエリーにより変更された行の数を返します。 link_identifierが指定されない場合、 mysql_connect() により直近にオープンされたリン クが指定されたと仮定されます。

注意: トランザクションを使用する場合には、 コミット後ではなく、INSERT, UPDATE, DELETE クエリの後に mysql_affected_rows() をコールする必要があり ます。

直近のクエリーがWHERE節のないDELETEクエリーであった場合、全レコー ドはテーブルから削除されていますが、この関数はゼロを返します。

注意: UPDATEを使用する場合、MySQL は新しい値が古い値と同じ場合にはカラ ムを更新しません。このため、 mysql_affected_rows() はマッチした行の数には 一致しない可能性があり、単にクエリにより文字の上で作用された行 の数となります。

mysql_affected_rows() は、SELECT文には使用でき ません。レコードを修正する文でのみ使用できます。SELECTから返され る行の数を得る際には、mysql_num_rows()を使用し てください。

直近のクエリが失敗した場合、この関数は-1を返します。
ページ上部に戻る

mysql_change_user
(PHP 3 >= 3.0.13)

mysql_change_user -- アクティブな接続でログイン中のユーザーを変更する
説明
int mysql_change_user ( string user, string password, string [database], resource [link_identifier] )


mysql_change_user() は、現在アクティブな接続ま たはリンクIDが指定された場合には指定したその接続にログイン中のユー ザーを変更します。databaseが指定された場合、ユーザーが変更された 後、このデータベースがデフォルトまたはカレントのデータベースとな ります。新規の user/password の組み合わせの認証に失敗した場合、 現在接続中のユーザーがアクティブなままとなります。

ページ上部に戻る

mysql_client_encoding
(PHP 4 >= 4.3.0, PHP 5)

mysql_client_encoding -- Returns the name of the character set
説明
string mysql_client_encoding ( [resource link_identifier] )


Retrieves the character_set variable from MySQL.

パラメータ


link_identifier
MySQL接続。指定されない場合、mysql_connect() により直近にオープンされたリンクが指定されたと仮定されます。そのようなリンクがない場合、引数を指定せずに mysql_connect() がコールした時と同様にリンクを確立します。リンクが見付からない、または、確立できない場合、 E_WARNING レベルの警告が生成されます。


戻り値
Returns the default character set name for the current connection.


例 1. mysql_client_encoding() example

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$charset = mysql_client_encoding($link);

echo "The current character set is: $charset\n";
?>

上の例の出力は例えば以下のようになります:

The current character set is: latin1

ページ上部に戻る

mysql_close
(PHP 3, PHP 4, PHP 5)

mysql_close -- MySQL接続を閉じる
説明
bool mysql_close ( resource [link_identifier] )


成功した場合に TRUE を、失敗した場合に FALSE を返します。

mysql_close()は、指定したlink_identifierが指す MySQLデータベースへのリンクを閉じます。 link_identifierが指定されない場合、最後に オープンされたリンクが使用されます。

持続的でないリンクはスクリプトの実行終了時に自動的に閉じられるの で、この関数は通常の場合必要ありません。リソースの解放 を参照ください。

mysql_close()は、mysql_pconnect() により生成された持続的リンクを閉じません。

例 1. MySQL 接続をクローズする例

<?php
$link = mysql_connect("kraemer", "marliesle", "secret")
or exit("Could not connect");
print ("Connected successfully");
mysql_close($link);
?>

ページ上部に戻る

mysql_connect
(PHP 3, PHP 4, PHP 5)

mysql_connect -- MySQLサーバーへの接続をオープンする
説明
resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]]]] )


接続に成功した場合は正のMySQLリンクID、失敗した場合にFALSEを返し ます。

mysql_connect()は、MySQL サーバーへの接続を確 立します。オプションのパラメータが指定されない場合、以下のデフォ ルト値が使用されます。: server = 'localhost:3306', username = サーバプロセスの所有ユーザ名 password = 空のパスワード

パラメータserverには、ポート番号も指定する ことが可能です。例えば、"hostname:port"、または、 localhostの場合には、ソケットへのパス ":/path/to/socket"とします。

注意: Whenever you specify "localhost" or "localhost:port" as server, the MySQL client library will override this and try to connect to a local socket (named pipe on Windows). If you want to use TCP/IP, use "127.0.0.1" instead of "localhost". If the MySQL client library tries to connect to the wrong local socket, you should set the correct path as mysql.default_host in your PHP configuration and leave the server field blank.

":port"のサポートは3.0B4で追加されました。

":/path/to/socket"のサポートは 3.0.10で追加されました。

関数名の前に@を付けることに 接続に失敗した場合のエラーメッセージを出力しないようにできます。


同じ引数で2回mysql_connect()をコールした場合、 二回目は新規のリンクが確立されるのではなく、代わりにすでにオープンされた リンクのリンクIDが返されます。 パラメータnew_linkはこの動作を変更し、既に mysql_connect()が同じパラメータでコールされてい る場合でも常に新規のリンクがオープンされるようにします。 パラメータclient_flagsは、 定数 MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE, MYSQL_CLIENT_INTERACTIVEの組み合わせとすることができます。

注意: パラメータnew_linkはPHP 4.2.0で利用可能とな りました。

パラメータclient_flagsはPHP 4.3.0で利用可能 となりました。

サーバーへのリンクは、mysql_close()のコールにより 明示的に閉じられない限り、スクリプトの実行終了と同時に閉じられます。

例 1. MySQL に接続する例

<?php
$link = mysql_connect("localhost", "username", "secret")
or die("Could not connect");
print ("Connected successfully");
mysql_close($link);
?>



ページ上部に戻る

mysql_create_db
(PHP 3, PHP 4, PHP 5)

mysql_create_db -- MySQLデータベースを作成する
説明
bool mysql_create_db ( string database_name, resource [link_identifier] )


mysql_create_db()は、指定したリンクIDが指す サーバー上に新規のデータベースを作成します。

例 1. MySQLデータベースを作成する例

<?php
$link = mysql_pconnect("kron", "jutta", "geheim")
or exit("Could not connect");
if (mysql_create_db("my_db")) {
print ("Database created successfully\n");
} else {
printf ("Error creating database: %s\n", mysql_error ());
}
?>


下位互換性の維持のため、mysql_createdb()も 使用可能です。

ページ上部に戻る

mysql_data_seek
(PHP 3, PHP 4, PHP 5)

mysql_data_seek -- 内部的な結果ポインタを移動する
説明
bool mysql_data_seek ( resource result_identifier, int row_number )


成功した場合に TRUE を、失敗した場合に FALSE を返します。

mysql_data_seek()は、指定した結果ID (result_identifier)が指すMySQL結果の内部ポインタが指定した行番号 (row_number)を指すように移動します。 この後、mysql_fetch_row()をコールした場合には、 ここで指定した行の内容が返されます。

row_number は、0から始まります。

例 1. MySQLデータをシークする例

<?php
$link = mysql_pconnect("kron", "jutta", "geheim")
or die("Could not connect");

mysql_select_db("samp_db")
or exit("Could not select database");

$query = "SELECT last_name, first_name FROM friends";
$result = mysql_query($query)
or die("Query failed");

// fetch rows in reverse order

for ($i = mysql_num_rows($result) - 1; $i >=0; $i--) {
if (!mysql_data_seek($result, $i)) {
echo "Cannot seek to row $i\n";
continue;
}

if(!($row = mysql_fetch_object($result)))
continue;

echo "$row->last_name $row->first_name<br />\n";
}

mysql_free_result($result);
?>
ページ上部に戻る

mysql_db_name
(PHP 3 >= 3.0.6, PHP 4, PHP 5)

mysql_db_name -- データベース名を得る
説明
string mysql_db_name ( resource result, int row, mixed [field] )


mysql_db_name()は、 mysql_list_dbs()をコールした際に得られた mysql_list_dbs()結果ポインタを最初の引数として とり、パラメータrowは結果セットでの添字と なります。

エラーを発生した場合、FALSE が返されます。エラーの発生源を定義す るには、mysql_errno()および mysql_error()を使用してください。

例 1. mysql_db_name() の例

<?php
error_reporting(E_ALL);

mysql_connect('dbhost', 'username', 'password');
$db_list = mysql_list_dbs();

$i = 0;
$cnt = mysql_num_rows($db_list);
while ($i < $cnt) {
echo mysql_db_name($db_list, $i) . "\n";
$i++;
}
?>


推奨されませんが、下位互換性のために mysql_dbname()も使用可能です。

ページ上部に戻る

mysql_db_query
(PHP 3, PHP 4, PHP 5)

mysql_db_query -- MySQLクエリーを送信する
説明
resource mysql_db_query ( string database, string query, resource [link_identifier] )


クエリーの結果へのMySQL結果IDを返します。エラーの場合は、 FALSEを返します。

mysql_db_query()は、データベースdatabaseを選択し、 そのデータベースに対してクエリーを実行します。 オプションのlink_identifierが指定されない場合、関数は、そのMySQL サーバーに対してオープンされているリンクを探すことを試みます。 そのようなリンクが見つからない場合、 mysql_connect()が引数なしでコールされた時と 同様にリンクを作成しようとします。

mysql_connect()と mysql_query()も参照ください。


注意: この関数は、PHP 4.0.6以降古い関数となっています。この関数は使用 しないでください。替わりにmysql_select_db()お よびmysql_query()を使用してください。

ページ上部に戻る

mysql_drop_db
(PHP 3, PHP 4, PHP 5)

mysql_drop_db -- MySQLデータベースを破棄(削除)する
説明
bool mysql_drop_db ( string database_name, resource [link_identifier] )


成功した場合に TRUE を、失敗した場合に FALSE を返します。

mysql_drop_db()は、指定したlink_identifierが指す データベース全体を破棄(削除)しようとします。

下位互換性の維持のため、mysql_dropdb()を 使用することも可能です。

ページ上部に戻る

mysql_errno
(PHP 3, PHP 4, PHP 5)

mysql_errno -- 直近のMySQL処理からエラーメッセージのエラー番号を返す
説明
int mysql_errno ( resource [link_identifier] )


MySQLデータベースバックエンドから返ってくるエラーは、 警告を発生しません。代わりにエラー番号を得るためにこれらの関数を 使用してください。 直近のMySQL関数からのエラー番号を返します。エラーが発生していない 場合は、0 (ゼロ)を返します。

MySQLバックエンドから返されたもうエラー警告を発生しません。代わり に、エラーコードを取得するためにmysql_errno() を使用してください。この関数は、直近に実行された( mysql_error()と mysql_errno()以外の)MySQL関数のエラーコードの みを返すことに注意してください。このため、この関数を使用したい場合、 他のMySQL関数をコールする前に値をチェックするようにしてください。


<?php
mysql_connect("marliesle");
echo mysql_errno().": ".mysql_error()."<BR>";
mysql_select_db("nonexistentdb");
echo mysql_errno().": ".mysql_error()."<BR>";
$conn = mysql_query("SELECT * FROM nonexistenttable");
echo mysql_errno().": ".mysql_error()."<BR>";
?>

ページ上部に戻る

mysql_error
(PHP 3, PHP 4, PHP 5)

mysql_error -- 直近に実行されたMySQLコールのエラーメッセージを返す
説明
string mysql_error ( resource [link_identifier] )


直近のMySQL関数からのエラー文字列を返します。エラーが発生していな い場合には、'' (空文字列) を返します。

MySQLデータベースバックエンドから返されたエラーはもう警告を発生し ません。エラー文字列を取得するには、代わりに mysql_error()を使用してください。 この関数は、直近に実行された(mysql_error()と mysql_errno()以外の)MySQL関数のエラー文字列の みを返すことに注意してください。このため、この関数を使用したい場合、 他のMySQL関数をコールする前にあ値をチェックするようにしてください。


<?php
mysql_connect("marliesle");
echo mysql_errno().": ".mysql_error()."<BR>";
mysql_select_db("nonexistentdb");
echo mysql_errno().": ".mysql_error()."<BR>";
$conn = mysql_query("SELECT * FROM nonexistenttable");
echo mysql_errno().": ".mysql_error()."<BR>";
?>

ページ上部に戻る

mysql_escape_string
(PHP 4 >= 4.0.3, PHP 5)

mysql_escape_string -- mysql_queryで使用するために文字列をエスケープする
説明
string mysql_escape_string ( string unescaped_string )


この関数は、mysql_query()で指定可能なように unescaped_stringをエスケープします。

注意: mysql_escape_string() は、% および _はエスケープしません。

<?php

function escape_string ($string) {
if(version_compare(phpversion(),"4.3.0")=="-1") {
mysql_escape_string($string);
} else {
mysql_real_escape_string($string);
}
}

?>

ページ上部に戻る

mysql_fetch_array
(PHP 3, PHP 4, PHP 5)

mysql_fetch_array -- 連想配列、添字配列、またはその両方として結果の行を取得する
説明
array mysql_fetch_array ( resource result, int [result_type] )


取得した行に対応する配列を返します。最後の行までいった場合は、 FALSEを返します。

mysql_fetch_array()は、 mysql_fetch_row()の拡張版です。 この関数は、result配列の番号インデックスにデータを格納するだけでなく、 フィールド名をキーとした連想配列にもデータを格納します。

結果の中で二つ以上のカラムが同じフィールド名を有している場合、 最後のカラムが優先されます。 同名の他のカラムにアクセスするには、そのカラムの数値インデックス を使うかまたはカラムの別名を定義する必要があります。


select tone.field as foo ttwo.field as bar from tone, ttwo




注意すべき点としては、mysql_fetch_array()は、 非常に高い附加価値を有しているにもかかわらず、 mysql_fetch_row()よりそれほど遅くはないと いうことが言えます。

mysql_fetch_array()の オプションの2番目の引数result_typeは定数であり、 次の値をとります。: MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH この機能は PHP 3.0.7で追加された機能です。この引数のデフォルト値は、 MYSQL_BOTHです。

MYSQL_BOTHを使用すると、連想添字と数値添字を共に有する配列を取得 します。MYSQL_ASSOCを使用すると、( mysql_fetch_assoc()の動作と同様に)連想添字のみ が取得され、MYSQL_NUMを使用すると、 (mysql_fetch_row()の動作と同様に数値添字のみが 取得されます。

より詳細な情報については、 mysql_fetch_row()、 mysql_fetch_assoc()も参照ください。

例 1. mysql_fetch_array()の例

<?php
mysql_connect($host, $user, $password);
mysql_select_db("database");
$result = mysql_query("select user_id, fullname from table");
while ($row = mysql_fetch_array($result)) {
echo "user_id: ".$row["user_id"]."<br>\n";
echo "user_id: ".$row[0]."<br>\n";
echo "fullname: ".$row["fullname"]."<br>\n";
echo "fullname: ".$row[1]."<br>\n";
}
mysql_free_result($result);
?>

ページ上部に戻る

mysql_fetch_assoc
(PHP 4 >= 4.0.3, PHP 5)

mysql_fetch_assoc -- 連想配列として結果の行を取得する
説明
array mysql_fetch_assoc ( resource result )


取得した行に対応する連想配列を返します。行がもうない場合には、 FALSEを返します。

mysql_fetch_assoc() は、 mysql_fetch_array() のオプションの2番目のパラ メータにMYSQL_ASSOCを指定してコールした場合と等価です。この関数は、 連想配列のみを返します。これは、 mysql_fetch_array()の元の動作と同じです。連想 配列と同時に数値添字が必要な場合は、 mysql_fetch_array()を使用してください。

結果の複数のカラムが同じフィールド名を有している場合、最後のカラ ムが優先されます。同じ名前を有する他のカラムにアクセスするには、 mysql_fetch_row()を使用して数値添字を返すか、 エイリアス名を追加する必要があります。エイリアスの説明については、 mysql_fetch_array()の例を参照ください。

mysql_fetch_assoc()の使用に関して、著しい付加 価値があるにもかかわらずmysql_fetch_row()より も著しく遅くはないという点を特筆すべき点として強調しておきます。

より詳細な情報については、mysql_fetch_row() お よび mysql_fetch_array()を参照ください。

例 1. mysql_fetch_assoc()

<?php
mysql_connect($host, $user, $password);
mysql_select_db($database);
$query = "select * from table";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
echo $row["user_id"];
echo $row["fullname"];
}
mysql_free_result($result);
?>

ページ上部に戻る

mysql_fetch_field
(PHP 3, PHP 4, PHP 5)

mysql_fetch_field -- 結果からカラム情報を取得し、オブジェクトとして返す
説明
object mysql_fetch_field ( resource result, int [field_offset] )


フィールド情報を含むオブジェクトを返します。

mysql_fetch_field()は、特定のクエリー結果 の中のフィールドに関する情報を得るために使用可能です。 フィールドオフセットを指定しない場合、次のフィールドのうち、 mysql_fetch_field()によりまだ取得されていない ものが取得されます。

オブジェクトのプロパティは、次の通りです。


name - カラム名

table - カラムが属しているテーブルの名前

max_length - カラムの最大長

not_null - カラムが「not NULL」であれば 1

primary_key - カラムが「primary key」であれば 1

unique_key - カラムが「unique key」であれば 1

multiple_key - カラムが「non-unique key」であれば 1

numeric - カラムが数値(numeric)であれば1

blob - カラムがBLOBであれば1

type - カラムの型

unsigned - カラムが符号無し(unsigned)であれば1

zerofill - カラムがゼロで埋められている(zero-filled)場合に1


例 1. mysql_fetch_field()

<?php
mysql_connect('localhost:3306', $user, $password)
or die ("Could not connect");
mysql_select_db("database");
$result = mysql_query("select * from table")
or die("Query failed");
# get column metadata
$i = 0;
while ($i < mysql_num_fields($result)) {
echo "Information for column $i:<BR>\n";
$meta = mysql_fetch_field($result);
if (!$meta) {
echo "No information available<BR>\n";
}
echo "<PRE>
blob: $meta->blob
max_length: $meta->max_length
multiple_key: $meta->multiple_key
name: $meta->name
not_null: $meta->not_null
numeric: $meta->numeric
primary_key: $meta->primary_key
table: $meta->table
type: $meta->type
unique_key: $meta->unique_key
unsigned: $meta->unsigned
zerofill: $meta->zerofill
</PRE>";
$i++;
}
mysql_free_result($result);
?>

ページ上部に戻る

mysql_fetch_lengths
(PHP 3, PHP 4, PHP 5)

mysql_fetch_lengths -- 結果における各出力の長さを得る
説明
array mysql_fetch_lengths ( resource result )


mysql_fetch_row()により一番最近に取得された行 における各フィールドの長さを格納した配列を返します。エラーの場合 は、FALSEを返します。

mysql_fetch_lengths()は、 mysql_fetch_row(), mysql_fetch_array(), mysql_fetch_object()により一番最近に返された 各結果カラムの長さを格納した配列を返します。この配列のオフセットは 0から始まります。

ページ上部に戻る

mysql_fetch_object
(PHP 3, PHP 4, PHP 5)

mysql_fetch_object -- 結果の行をオブジェクトとして取得する
説明
object mysql_fetch_object ( resource result, int [result_typ] )


取得された行を表すプロパティを有するオブジェクトを返します。 もう行が残っていない場合は、FALSEを返します。

mysql_fetch_object()は、配列の代わりに オブジェクトが返されるという一つの違いを除いて mysql_fetch_array()と類似しています。 間接的アクセス、つまり、オフセットによってではなく、フィールド名によって のみデータにアクセスすることができます。 (数字は、プロパティ名として使用できません)

オプションの2番目の引数 result_typ は、 定数であり、次の値をとります。: MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH

速度面では、この関数はmysql_fetch_array()と同等で、 mysql_fetch_row()とほぼ同等です。(違いはわずかです) 例 1. mysql_fetch_object()の例

<?php
mysql_connect("hostname", "user", "password");
mysql_select_db($db);
$result = mysql_query("select * from table");
while ($row = mysql_fetch_object($result)) {
echo $row->user_id;
echo $row->fullname;
}
mysql_free_result($result);
?>

ページ上部に戻る

mysql_fetch_row
(PHP 3, PHP 4, PHP 5)

mysql_fetch_row -- 結果を添字配列として取得する
説明
array mysql_fetch_row ( resource result )


取得された行に対応する配列を返します。もう行がない場合は、 FALSEを返します。

mysql_fetch_row()は、指定した結果(result)ID が指す結果から1行分のデータを取得します。 各結果カラムは、オフセット0から始まる配列に格納されます。

mysql_fetch_row()を続けてコールした場合、 結果セットにおける次の行を返します。行がもうない場合は、FALSEを 返します。

ページ上部に戻る

mysql_field_flags
(PHP 3, PHP 4, PHP 5)

mysql_field_flags -- 結果において指定したフィールドのフラグを得る
説明
string mysql_field_flags ( resource result, int field_offset )


mysql_field_flags()は、指定したフィールドの フィールドフラグを得ます。フラグは、空白一つで区切られたフラグ毎 に一つの単語として取得されます。このため、 explode()を用いて返り値を分割することができま す。

運用システム上のMySQLがサポートしている場合、次のフラグがレポート されます。"not_null", "primary_key", "unique_key", "multiple_key", "blob", "unsigned", "zerofill", "binary", "enum", "auto_increment", "timestamp"

下位互換性の維持のため、 mysql_fieldflags()も使用可能です。

ページ上部に戻る

mysql_field_len
(PHP 3, PHP 4, PHP 5)

mysql_field_len -- 指定したフィールドの長さを得る
説明
int mysql_field_len ( int result, int field_offset )


mysql_field_len()は指定したフィールドの長さを 得ます。下位互換性の維持のため、 mysql_fieldlen()も使用可能です。

ページ上部に戻る

mysql_field_name
(PHP 3, PHP 4, PHP 5)

mysql_field_name -- 結果において指定したフィールド名を得る
説明
string mysql_field_name ( resource result, int field_index )


mysql_field_name()は、指定したフィールドの 名前を返します。resultは有効な結果ID、 field_indexはフィールドのオフセット数とす る必要があります。

注意: field_indexは0から始まります。

例えば、3番目のフィールドの添字は2、4番目のフィールドの添字は3と いったようになります。

例 1. mysql_field_name()の例

// The users table consists of three fields:
// user_id
// username
// password.
$link = mysql_connect('localhost', $user, "secret");
mysql_select_db($dbname, $link)
or die("Could not set $dbname");
$res = mysql_query("select * from users", $link);

echo mysql_field_name($res, 0) . "\n";
echo mysql_field_name($res, 2);

上の例は出力のようになります。 user_id
password





下位互換性を維持するため、mysql_fieldname() も使用可能です。

ページ上部に戻る

mysql_field_seek
(PHP 3, PHP 4, PHP 5)

mysql_field_seek -- 結果ポインタを指定したフィールドオフセットにセットする
説明
int mysql_field_seek ( int result, int field_offset )


指定したフィールドオフセットに移動します。 mysql_field_seek()をコールした後、 mysql_fetch_field()をフィールドオフセットを付 けずにコールした場合、このフィールドが返されます。

ページ上部に戻る

mysql_field_table
(PHP 3, PHP 4, PHP 5)

mysql_field_table -- 指定したフィールドが含まれるテーブルの名前を得る
説明
string mysql_field_table ( int result, int field_offset )


フィールドが含まれるテーブルの名前を得ます。下位互換性のため、 mysql_fieldtable()も使用可能です。

ページ上部に戻る

mysql_field_type
(PHP 3, PHP 4, PHP 5)

mysql_field_type -- 結果において指定したフィールドの型を得る
説明
string mysql_field_type ( string result, int field_offset )


mysql_field_type()は、 mysql_field_name()関数に似ています。 引数は同じですが、この関数ではフィールドの型が返されます。 この型は、"int"、"real"、"string"、"blob"、 MySQLドキュメントで詳細が規定された他の型のどれかになります。 例 1. mysqlフィールドの型を得る

<?php
mysql_connect ("localhost:3306");
mysql_select_db ("wisconsin");
$result = mysql_query ("SELECT * FROM onek");
$fields = mysql_num_fields ($result);
$rows = mysql_num_rows ($result);
$i = 0;
$table = mysql_field_table ($result, $i);
echo "Your '".$table."' table has ".$fields." fields and ".$rows." records <BR>";
echo "The table has the following fields <BR>";
while ($i < $fields) {
$type = mysql_field_type ($result, $i);
$name = mysql_field_name ($result, $i);
$len = mysql_field_len ($result, $i);
$flags = mysql_field_flags ($result, $i);
echo $type." ".$name." ".$len." ".$flags."<BR>";
$i++;
}
mysql_close();
?>



下位互換性を維持するため、 mysql_fieldtype()も使用可能です。

ページ上部に戻る

mysql_free_result
(PHP 3, PHP 4, PHP 5)

mysql_free_result -- 結果保持用メモリを開放する
説明
int mysql_free_result ( int result )


mysql_free_result()は、 スクリプト実行のメモリの使用量が多すぎると懸念される場合にのみ、 必要になります。 指定した結果IDに関する全ての結果保持用メモリは、自動的に開放されます。

下位互換性の維持のため、 mysql_freeresult()も使用可能です。

ページ上部に戻る

mysql_get_client_info
(PHP 4 >= 4.0.5, PHP 5)

mysql_get_client_info -- MySQLクライアント情報を得る
説明
string mysql_get_client_info ( void )


mysql_get_client_info() は、クライアントライブ ラリのバージョンを表す文字列を返します。

mysql_get_client_info() は、PHP 4.0.5で追加され ました。

ページ上部に戻る

mysql_get_host_info
(PHP 4 >= 4.0.5, PHP 5)

mysql_get_host_info -- MySQLホスト情報を得る
説明
string mysql_get_host_info ( [resource link_identifier] )


mysql_get_host_info() は、接続 link_identifier に使用されている接続の型を 表す文字列を返します。この文字列には、サーバのホスト名が含まれま す。link_identifier が省略された場合、直近 にオープンされた接続が使用されます。

mysql_get_host_info() は、PHP 4.0.5で追加され ました。

ページ上部に戻る

mysql_get_proto_info
(PHP 4 >= 4.0.5, PHP 5)

mysql_get_proto_info -- MySQLプロトコル情報を得る
説明
int mysql_get_proto_info ( [resource link_identifier] )


mysql_get_proto_info() は、接続 link_identifierで使用されるプロトコルのバー ジョンを返します。link_identifier が省略さ れた場合、直近にオープンされた接続が使用されます。

mysql_get_proto_info() は、PHP 4.0.5で追加され ました。

ページ上部に戻る

mysql_get_server_info
(PHP 4 >= 4.0.5, PHP 5)

mysql_get_server_info -- MySQLサーバ情報を得る
説明
int mysql_get_server_info ( [resource link_identifier] )


mysql_get_server_info() は、接続 link_identifier使用されるサーバーのバージョ ンを返します。link_identifier が省略された 場合、直近にオープンされた接続が使用されます。

mysql_get_server_info() は、PHP 4.0.5で追加さ れました。

ページ上部に戻る

mysql_info
(PHP 4 >= 4.3.0, PHP 5)

mysql_info -- Get information about the most recent query
説明
string mysql_info ( [resource link_identifier] )


Returns detailed information about the last query.

パラメータ


link_identifier
MySQL接続。指定されない場合、mysql_connect() により直近にオープンされたリンクが指定されたと仮定されます。そのようなリンクがない場合、引数を指定せずに mysql_connect() がコールした時と同様にリンクを確立します。リンクが見付からない、または、確立できない場合、 E_WARNING レベルの警告が生成されます。


戻り値
Returns information about the statement on success, or FALSE on failure. See the example below for which statements provide information, and what the returned value may look like. Statements that aren't listed will return FALSE


例 1. Relevant MySQL Statements

Statements that return string values. The numbers are only for illustrating purpose; their values will correspond to the query.

INSERT INTO ... SELECT ...
String format: Records: 23 Duplicates: 0 Warnings: 0
INSERT INTO ... VALUES (...),(...),(...)...
String format: Records: 37 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ...
String format: Records: 42 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE
String format: Records: 60 Duplicates: 0 Warnings: 0
UPDATE
String format: Rows matched: 65 Changed: 65 Warnings: 0




注意
注意: mysql_info() returns a non-FALSE value for the INSERT ... VALUES statement only if multiple value lists are specified in the statement.

ページ上部に戻る

mysql_insert_id
(PHP 3, PHP 4, PHP 5)

mysql_insert_id -- 直近のINSERTで生成されたIDを得る
説明
int mysql_insert_id ( int [link_identifier] )


mysql_insert_id()は、指定した link_identifierを使用した前のINSERTクエリ によりAUTO_INCREMENTEDカラム用に生成されたIDを返します。 link_identifierが指定されない場合、 最後にオープンされた接続が仮定されます。

前のクエリがAUTO_INCREMENTの値を生成しない場合には、 mysql_insert_id()は0を返します。この値を後まで 保存する必要がある場合、値を生成するクエリの直後で mysql_insert_id()をコールするようにしてください。

注意: MySQL SQL 関数LAST_INSERT_ID()の値には、常に 直近のAUTO_INCREMENTの値が含まれており、クエリの間ではリセットさ れません。


警告
mysql_insert_id() は、元のMySQL C API関数 mysql_insert_id()の返り値の型を long型に変換します。 AUTO_INCREMENT カラムがBIGINTのカラム型を有している場合、 mysql_insert_id()で返される型は不正確になりま す。代わりに、MySQL SQL内部関数 LAST_INSERT_ID()を使用してください。

ページ上部に戻る

mysql_list_dbs
(PHP 3, PHP 4, PHP 5)

mysql_list_dbs -- MySQLサーバー上で利用可能なデータベースのリストを得る
説明
int mysql_list_dbs ( int [link_identifier] )


mysql_list_dbs()は、カレントのmysqlデーモンから 利用可能なデータベーィ?格納した結果ポインタを返します。 この結果ポインタを使用して内容を調べる際には、 mysql_tablename()関数を使用してください。

下位互換性の位置のため、mysql_listdbs()も 使用可能です。

ページ上部に戻る

mysql_list_fields
(PHP 3, PHP 4, PHP 5)

mysql_list_fields -- MySQL結果フィールドのリストを得る
説明
int mysql_list_fields ( string database_name, string table_name, int [link_identifier] )


mysql_list_fields()は、指定したテーブル名に 関する情報を検索します。引数は、データベース名およびテーブル名です。 mysql_field_flags()、 mysql_field_len()、 mysql_field_name()、 mysql_field_type()で使用可能な 結果ポインタが返されます。

結果IDは正の整数です。この関数は、エラーが発生した場合に-1を返します。 エラーを記述する文字列は、$phperrmsgに格納され、 この関数が @mysql()としてコールされていない限り、 エラー文字列も表示されます。

下位互換性の維持のため、mysql_listfields() も使用可能です。

ページ上部に戻る

mysql_list_processes
(PHP 4 >= 4.3.0, PHP 5)

mysql_list_processes -- List MySQL processes
説明
resource mysql_list_processes ( [resource link_identifier] )


Retrieves the current MySQL server threads.

パラメータ


link_identifier
MySQL接続。指定されない場合、mysql_connect() により直近にオープンされたリンクが指定されたと仮定されます。そのようなリンクがない場合、引数を指定せずに mysql_connect() がコールした時と同様にリンクを確立します。リンクが見付からない、または、確立できない場合、 E_WARNING レベルの警告が生成されます。


戻り値
A result pointer resource on success, or FALSE on failure.


例 1. mysql_list_processes() example

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

$result = mysql_list_processes($link);
while ($row = mysql_fetch_assoc($result)){
printf("%s %s %s %s %s\n", $row["Id"], $row["Host"], $row["db"],
$row["Command"], $row["Time"]);
}
mysql_free_result($result);
?>

上の例の出力は例えば以下のようになります:

1 localhost test Processlist 0
4 localhost mysql sleep 5

ページ上部に戻る

mysql_list_tables
(PHP 3, PHP 4, PHP 5)

mysql_list_tables -- MySQL データベース上のテーブルのリストを得る
説明
int mysql_list_tables ( string database, int [link_identifier] )


mysql_list_tables()は、 mysql_db_query()と全く同様に データベース名および結果ポインタを引数とします。 結果ポインタから実際のテーブル名を展開するためには、 mysql_tablename()関数を使用する必要があります。

下位互換性を維持するために、 mysql_listtables()も使用可能です。

ページ上部に戻る

mysql_num_fields
(PHP 3, PHP 4, PHP 5)

mysql_num_fields -- 結果におけるフィールドの数を得る
説明
int mysql_num_fields ( int result )


mysql_num_fields()は、結果セットにおける フィールドの数を返します。

mysql_db_query()、 mysql_query()、 mysql_fetch_field()、 mysql_num_rows() も参照ください。

下位互換性の維持のため、mysql_numfields() も使用可能です。

ページ上部に戻る

mysql_num_rows
(PHP 3, PHP 4, PHP 5)

mysql_num_rows -- 結果における行の数を得る
説明
int mysql_num_rows ( int result )


mysql_num_rows()は結果セットにおける行の数を返 します。このコマンドはSELECT文でのみ有効です。 INSERT、UPDATE、DELETE クエリから返される行の数を取得する際には、 mysql_affected_rows()を使用してください。 例 1. mysql_num_rows()の例

<?php

$link = mysql_connect("localhost", "username", "password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows 行\n";

?>



mysql_affected_rows(), mysql_connect(), mysql_select_db(), mysql_query() も参照ください。

下位互換性の維持のため、mysql_numrows() も使用可能です。

ページ上部に戻る

mysql_pconnect
(PHP 3, PHP 4, PHP 5)

mysql_pconnect -- MySQLサーバーへの持続的な接続をオープンする
説明
int mysql_pconnect ( string [hostname [:port] [:/path/to/socket]] , string [username], string [password] )


成功した場合に正のMySQL持続的link_identifier、エラー発生時にFALSEを 返します。

mysql_pconnect()は、MySQLサーバーへの 接続を確立します。全ての引数はオプションであり、 省略された場合には、デフォルト値('localhost'、サーバープロセスの 所有者のユーザ名、空のパスワード)が仮定されます。

文字列hostnameには、"hostname:port"のようにポート番号を 指定することが可能で、localhostでは、":/path/to/socket" のようにソケットへのパスを指定することも可能です。

注意: ":port"のサポートは、3.0B4で追加されました。

":/path/to/socket"のサポートは3.0.10で追加されました。


mysql_pconnect()は、二つの点を除いて mysql_connect()と全く同様に動作します。

1番目の違いとしては、この関数は、接続時にまず 同じホスト、ユーザ名、パスワードを有する(持続的)リンクが すでにオープンされていないかどうかを調べます。 それがみつかった場合、新規の接続をオープンする代わりに そのリンクのIDが返されます。

2番目の違いは、SQLサーバーへの接続がスクリプトの実行終了時にも 閉じられないということです。 代わりに、リンクは将来的な使用のためにオープンされたままと なります。(mysql_close()は、 mysql_pconnect()により確立されたリンクを 閉じません)

このため、この型のリンクは、'持続的(persistent)'であると言われます。

ページ上部に戻る

mysql_ping
(PHP 4 >= 4.3.0, PHP 5)

mysql_ping -- Ping a server connection or reconnect if there is no connection
説明
bool mysql_ping ( [resource link_identifier] )


Checks whether or not the connection to the server is working. If it has gone down, an automatic reconnection is attempted. This function can be used by scripts that remain idle for a long while, to check whether or not the server has closed the connection and reconnect if necessary.

パラメータ


link_identifier
MySQL接続。指定されない場合、mysql_connect() により直近にオープンされたリンクが指定されたと仮定されます。そのようなリンクがない場合、引数を指定せずに mysql_connect() がコールした時と同様にリンクを確立します。リンクが見付からない、または、確立できない場合、 E_WARNING レベルの警告が生成されます。


戻り値
Returns TRUE if the connection to the server MySQL server is working, otherwise FALSE.


例 1. A mysql_ping() example

<?php
set_time_limit(0);

$conn = mysql_connect('localhost', 'mysqluser', 'mypass');
$db = mysql_select_db('mydb');

/* Assuming this query will take a long time */
$result = mysql_query($sql);
if (!$result) {
echo 'Query #1 failed, exiting.';
exit;
}

/* Make sure the connection is still alive, if not, try to reconnect */
if (!mysql_ping($conn)) {
echo 'Lost connection, exiting after query #1';
exit;
}
mysql_free_result($result);

/* So the connection is still alive, let's run another query */
$result2 = mysql_query($sql2);
?>

ページ上部に戻る

mysql_query
(PHP 3, PHP 4, PHP 5)

mysql_query -- SQLクエリーをMySQLに送信する
説明
int mysql_query ( string query, int [link_identifier] )


mysql_query()は、 指定したlink_identifierが指すサーバー上の現在アクティブな データベースにクエリーを送信します。 link_identifierが指定されない場合、 最後にオープンされたリンクが指定されたと仮定されます。 リンクが一度もオープンされていない場合、この関数は、 mysql_connect() が引数無しでコールされた時と 同様にリンクを確立し、使用しようとします。

クエリー文字列は、セミコロンで終わる必要はありません。

mysql_query()は、クエリーが成功したかどうかを 表すためにTRUE(非ゼロ)またはFALSEを返します。 返り値TRUEは、クエリーが正しく、サーバーにより実行されたことを 意味します。この返り値は、作用されたり、返される行の数に関する情報を 何も示しません。成功したが行に何も作用せず、行を何も返さないクエリーは 確実に有りえます。

次のクエリーは、文法的には間違っており、 mysql_query()は失敗し、FALSEを返します。 例 1. mysql_query()

<?php
$result = mysql_query ("SELECT * WHERE 1=1")
or die ("Invalid query");
?>



my_colがテーブルmy_tblの のカラムでない場合、次のクエリーは意味をなしません。 この場合、mysql_query()は失敗し、FALSEを返します。 例 2. mysql_query()

<?php
$result = mysql_query ("SELECT my_col FROM my_tbl")
or die ("Invalid query");
?>



クエリーが参照するテーブルにアクセスする権限がない場合も mysql_query()は失敗し、FALSEが返されます。

クエリが成功したと仮定すると(DELETE, INSERT, REPLACE, UPDATE文について) 作用を受けた行の数を得るためにmysql_affected_rows() をコールすることができます。SELECT文については、 mysql_query()は、新規の結果IDを返します。 このIDは、mysql_result()の引数とすることができます。 結果の処理を終えた後、結果を保持するリソースを mysql_free_result()により解放することが 可能です。

ページ上部に戻る

mysql_real_escape_string
(PHP 4 >= 4.3.0, PHP 5)

mysql_real_escape_string -- Escapes special characters in a string for use in a SQL statement
説明
string mysql_real_escape_string ( string unescaped_string [, resource link_identifier] )


Escapes special characters in the unescaped_string, taking into account the current character set of the connection so that it is safe to place it in a mysql_query(). If binary data is to be inserted, this function must be used.

mysql_real_escape_string() calls MySQL's library function mysql_real_escape_string, which prepends backslashes to the following characters: \x00, \n, \r, \, ', " and \x1a.

This function must always (with few exceptions) be used to make data safe before sending a query to MySQL.

パラメータ


unescaped_string
The string that is to be escaped.

link_identifier
MySQL接続。指定されない場合、mysql_connect() により直近にオープンされたリンクが指定されたと仮定されます。そのようなリンクがない場合、引数を指定せずに mysql_connect() がコールした時と同様にリンクを確立します。リンクが見付からない、または、確立できない場合、 E_WARNING レベルの警告が生成されます。


戻り値
Returns the escaped string, or FALSE on error.


例 1. Simple mysql_real_escape_string() example

<?php
// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
OR die(mysql_error());

// Query
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
?>



例 2. An example SQL Injection Attack

<?php
// Query database to check if there are any matching users
$query = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($query);

// We didn't check $_POST['password'], it could be anything the user wanted! For example:
$_POST['username'] = 'aidan';
$_POST['password'] = "' OR ''='";

// This means the query sent to MySQL would be:
echo $query;
?>

The query sent to MySQL:

SELECT * FROM users WHERE name='aidan' AND password='' OR ''=''


This would allow anyone to log in without a valid password.



例 3. A "Best Practice" query

Using mysql_real_escape_string() around each variable prevents SQL Injection. This example demonstrates the "best practice" method for querying a database, independent of the Magic Quotes setting.

<?php
// Quote variable to make safe
function quote_smart($value)
{
// Stripslashes
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
// Quote if not integer
if (!is_numeric($value)) {
$value = "'" . mysql_real_escape_string($value) . "'";
}
return $value;
}

// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
OR die(mysql_error());

// Make a safe query
$query = sprintf("SELECT * FROM users WHERE user=%s AND password=%s",
quote_smart($_POST['username']),
quote_smart($_POST['password']));

mysql_query($query);
?>

The query will now execute correctly, and SQL Injection attacks will not work.



注意
注意: A MySQL connection is required before using mysql_real_escape_string() otherwise an error of level E_WARNING is generated, and FALSE is returned. If link_identifier isn't defined, the last MySQL connection is used.

注意: If magic_quotes_gpc is enabled, first apply stripslashes() to the data. Using this function on data which has already been escaped will escape the data twice.

注意: If this function is not used to escape data, the query is vulnerable to SQL Injection Attacks.

注意: mysql_real_escape_string() does not escape % and _. These are wildcards in MySQL if combined with LIKE, GRANT, or REVOKE.

ページ上部に戻る

mysql_result
(PHP 3, PHP 4, PHP 5)

mysql_result -- 結果データを得る
説明
mixed mysql_result ( int result, int row, mixed [field] )


mysql_result() は、MySQL 結果セットから一つの セルの内容を返します。引数fieldには、フィールドのオフセットまたは フィールド名またはテーブル名.フィールド名を指定可能です。カラム名 のエイリアスが定義されている場合 ('select foo as bar from...')、 そのカラム名の代わりにエイリアスを使用してください。

大量の結果セットで作業を行う際、(以下で示す) 行全体を取り込む関数一つを使用することを検討するべきです。 これらの関数は一回の関数コールで複数のセルの内容を返すので、 mysql_result()よりもかなり高速です。 また、フィールド引数としてオフセット数値を指定する方が フィールド名やテーブル名.フィールド名のように指定するよりも かなり高速です。

mysql_result() は、 結果セットを処理するほかの関数と混用することはできません。

推奨される高性能な代替案は、mysql_fetch_row()、 mysql_fetch_array()、 mysql_fetch_object()です。

ページ上部に戻る

mysql_select_db
(PHP 3, PHP 4, PHP 5)

mysql_select_db -- MySQL データベースを選択する
説明
int mysql_select_db ( string database_name, int [link_identifier] )


成功した場合にTRUE、エラーの場合にFALSEを返します。

mysql_select_db()は、指定したlink_identifierが指す サーバー上のデータベースをアクティブなデータベースに設定します。 link_identifierが指定されていない場合、最後にオープンされたリンクが 指定されたと仮定されます。 リンクが一度もオープンされていない場合、 mysql_connect()がコールされた場合と同様に リンクの確立を試み、使用します。

mysql_query()のコールは、常にアクティブな データベースに対して行われます。

mysql_connect()、 mysql_pconnect()、 mysql_query()も参照ください。

下位互換性の維持のため、mysql_selectdb() も使用可能です。

ページ上部に戻る

mysql_stat
(PHP 4 >= 4.3.0, PHP 5)

mysql_stat -- Get current system status
説明
string mysql_stat ( [resource link_identifier] )


mysql_stat() returns the current server status.

パラメータ


link_identifier
MySQL接続。指定されない場合、mysql_connect() により直近にオープンされたリンクが指定されたと仮定されます。そのようなリンクがない場合、引数を指定せずに mysql_connect() がコールした時と同様にリンクを確立します。リンクが見付からない、または、確立できない場合、 E_WARNING レベルの警告が生成されます。


戻り値
Returns a string with the status for uptime, threads, queries, open tables, flush tables and queries per second. For a complete list of other status variables, you have to use the SHOW STATUS SQL command. If link_identifier is invalid, NULL is returned.


例 1. mysql_stat() example

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$status = explode(' ', mysql_stat($link));
print_r($status);
?>

上の例の出力は例えば以下のようになります:

Array
(
[0] => Uptime: 5380
[1] => Threads: 2
[2] => Questions: 1321299
[3] => Slow queries: 0
[4] => Opens: 26
[5] => Flush tables: 1
[6] => Open tables: 17
[7] => Queries per second avg: 245.595
)




例 2. Alternative mysql_stat() example

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$result = mysql_query('SHOW VARIABLES', $link);
while ($row = mysql_fetch_assoc($result)) {
echo $row['Variable_name'] . ' = ' . $row['Value'] . "\n";
}
?>

上の例の出力は例えば以下のようになります:

back_log = 50
basedir = /usr/local/
bdb_cache_size = 8388600
bdb_log_buffer_size = 32768
bdb_home = /var/db/mysql/
bdb_max_lock = 10000
bdb_logdir =
bdb_shared_data = OFF
bdb_tmpdir = /var/tmp/
...

ページ上部に戻る

mysql_tablename
(PHP 3, PHP 4, PHP 5)

mysql_tablename -- フィールドのテーブル名を得る
説明
string mysql_tablename ( int result, int i )


mysql_tablename()は、 mysql_list_tables()関数より返された結果ポイン タおよび整数インデックスを引数とし、テーブルの名前を返します。 結果ポインタにおけるテーブルの数を定義するために mysql_num_rows()関数を使用することができます。 例 1. mysql_tablename()の例

<?php
mysql_connect ("localhost:3306");
$result = mysql_list_tables ("wisconsin");
$i = 0;
while ($i < mysql_num_rows ($result)) {
$tb_names[$i] = mysql_tablename ($result, $i);
echo $tb_names[$i] . "<BR>";
$i++;
}
?>

ページ上部に戻る

mysql_thread_id
(PHP 4 >= 4.3.0, PHP 5)

mysql_thread_id -- Return the current thread ID
説明
int mysql_thread_id ( [resource link_identifier] )


Retrieves the current thread ID. If the connection is lost, and a reconnect with mysql_ping() is executed, the thread ID will change. This means only retrieve the thread ID when needed.

パラメータ


link_identifier
MySQL接続。指定されない場合、mysql_connect() により直近にオープンされたリンクが指定されたと仮定されます。そのようなリンクがない場合、引数を指定せずに mysql_connect() がコールした時と同様にリンクを確立します。リンクが見付からない、または、確立できない場合、 E_WARNING レベルの警告が生成されます。


戻り値
The thread ID on success, or FALSE on failure.


例 1. mysql_thread_id() example

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$thread_id = mysql_thread_id($link);
if ($thread_id){
printf("current thread id is %d\n", $thread_id);
}
?>

上の例の出力は例えば以下のようになります:

current thread id is 73

ページ上部に戻る

mysql_unbuffered_query
(PHP 4 >= 4.0.6, PHP 5)

mysql_unbuffered_query -- Send an SQL query to MySQL, without fetching and buffering the result rows
説明
resource mysql_unbuffered_query ( string query [, resource link_identifier] )


mysql_unbuffered_query() sends a SQL query query to MySQL, without fetching and buffering the result rows automatically, as mysql_query() does. On the one hand, this saves a considerable amount of memory with SQL queries that produce large result sets. On the other hand, you can start working on the result set immediately after the first row has been retrieved: you don't have to wait until the complete SQL query has been performed. When using multiple DB-connects, you have to specify the optional parameter link_identifier.

パラメータ


query
A SQL query

link_identifier
MySQL接続。指定されない場合、mysql_connect() により直近にオープンされたリンクが指定されたと仮定されます。そのようなリンクがない場合、引数を指定せずに mysql_connect() がコールした時と同様にリンクを確立します。リンクが見付からない、または、確立できない場合、 E_WARNING レベルの警告が生成されます。


戻り値
For SELECT, SHOW, DESCRIBE or EXPLAIN statements, mysql_query() returns a resource on success, or FALSE on error.

For other type of SQL statements, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.

注意
注意: The benefits of mysql_unbuffered_query() come at a cost: You cannot use mysql_num_rows() and mysql_data_seek() on a result set returned from mysql_unbuffered_query(). You also have to fetch all result rows from an unbuffered SQL query, before you can send a new SQL query to MySQL.








<?

$con = mysql_connect("サーバー名","ユーザー名","パスワード");
if (!$con){
print "DBへの接続に失敗しました!\n";
exit;
}
mysql_select_db("データベース名");
?>

ぺんたん.info
あかいひ.com
IPくん.com
8枠.com - 競馬情報
galhime.com

PC Q&A||古い記事|雑学|ラーメン