ようやくPHPから操作する時がきた!
■PHPスクリプトでMySQLサーバーに接続する
|sample|
+-----------------------------------------------------------------------+
<?php
$s=mysql_connect("localhost","root","1234") or die("失敗です");
print "成功しました";
mysql_close($s);
?>
+-----------------------------------------------------------------------+
mysql_connect(サーバー名,ユーザー名,パスワード)
接続に成功すると、「データベース接続の値」を返す
失敗すると、「false」を返す
or die(メッセージ)
()内を表示して、スクリプトの実行を中止する(=exit())
mysql_close(データベース接続の値)
切断に成功すると、「true」
失敗すると、「false」を返す
■PHPスクリプトでクエリを発行する
|sample|
+-----------------------------------------------------------------------+
<?php
$s=mysql_connect("localhost","root","1234") or die("失敗です");
print "成功しました";
mysql_select_db("db1",$s);
mysql_query("INSERT INTO tb1 VALUES('K777','PHP太郎',20);
mysql_close($s);
?>
+-----------------------------------------------------------------------+
mysql_select_db(データベース名,データベース接続の値)
データベースを指定する
mysql_query(SQL文)
SQL文を発行する
(※SQL文のデリミタはつけない、「"」「'」を入れ子で使うかヒアドキュメントを使用)
■PHPでSQL文の実行結果を受け取る
$re=mysql_query("SELECT * FROM tb1);で
print $re;としても、mysql_queryの返す値が単純な文字列でないため結果が実行できない!
mysql_fetch_array(結果)
SQLコマンドの結果を配列として得る
呼び出すときは、while文を使って
while($kekka=mysql_fetch_array($re)){
print $kekka[0];
・・・
}
とするとよい。
|point|
mysql_queryで実行されるクエリで、エラーが起こった場合、
mysql_query(・・・) or die(mysql_error());
でエラーの内容を表示できる
■データベースに存在するテーブルの一覧を取得する
mysql_list_tables(データベース名,データベース接続の値):
|sample|
+-----------------------------------------------------------------------+
<?php
$s=mysql_connect("localhost","root","1234") or die("失敗です");
$re=mysql_list_tables("db1",$s);
while($kekka=mysql_fetch_array($re)){
print $kekka[0];
print "
";
}
mysql_close($s);
?>
+-----------------------------------------------------------------------+
注意すること:
返信削除□コンソールでmysqlコマンドが操作不能
→cd c:\xampp\mysql\bin
→パスワードは正しいか?
□文字化けする
→PHPスクリプトに文字コードの指定をする
□新規スレッドがINSERTできない
返信削除→そもそも違うデータベースにスレッド用のテーブルを用意していた