LoginSignup
7
8

More than 5 years have passed since last update.

MySQLのDBに接続しSQLを実行する

Last updated at Posted at 2015-08-30

DBに接続しSQL文を実行し切断するまでのソースのメモ。
DBはMySQL。

今回はPC内でサーバを立ち上げている場合のメモ。

php
//DBに接続
$link = mysql_connect('接続先のサーバ', 'ユーザ名', 'パスワード');
$db_selected = mysql_select_db('テーブル名', $link);
mysql_set_charset('utf8');

//sqlを作成
$sql = '実行したいSQL文を入力';

//SQL文を作成して実行
$result = mysql_query($sql);
if (!$result) {
    die('SELECTクエリーが失敗しました。'.mysql_error());
}

//取得したデータを表示する
while($data = mysql_fetch_array($result)){
    //変数にDBから取得したデータを格納
    $a = $data['列名'];
    echo $a;
}

//DBを切断
$close_flag = mysql_close($link);
if ($close_flag){
    print('<p>切断に成功しました。</p>');
}

基本的に、DBに接続する際の
接続先のサーバは"localhost"
ユーザ名は"root"
パスワードは自分は設定していなかったので空欄、""で通った。

while文は複数のデータを取得したい場合に使用する。
1件だけinsertしたい場合とかは消去。

insertする内容をユーザに入力させてそれを変数に格納後
SQL文で実行することももちろん可能だが、ややこしかったのでメモ。

変数を使用したSQL文
$sql = 'INSERT INTO photo (列名a, 列名b, 列名c, 列名d) VALUES("'.$変数a.'","'.$変数b.'","'.変数c.'","'.変数d.'")';

もちろんselect文でも変数を使用することは可能。
もし、SQL文を使用したプログラムが思った通りにならない時は
そもそもSQL文が間違っている可能性もあるので注意。

DBの列にオートナンバーを使用している表のinsertは
オートナンバーの列を空欄、""でちゃんと番号がふられる。

7
8
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8