PHPでMySQLに接続するときのサンプルコード
PHPで開発しているときに、PDOを使って、MySQLに接続する場合に書く関数のテンプレを書きました。
例として、
article_tag |
---|
id |
article_id |
value |
create_date |
のテーブルにinsertする関数の例です。
なお、DB側のSQLはこのような感じ。
DROP TABLE IF EXISTS article_tag; CREATE TABLE article_tag ( id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT, article_id INTEGER NOT NULL, value VARCHAR(256) NOT NULL, create_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP );
データを挿入する関数を作ります。
<?php require('config.php'); # config.phpをつくって、そこに各環境でのmysqlの情報を書く。 # define ('DB_NAME', 'mysql:dbname=[DBNAME];host=localhost'); # define ('DB_USER', '[USERNAME]'); # define ('DB_PASSWORD', '[PASSWORD]'); function insertArticleTag($article_id, $value){ try { $dbh = new PDO(DB_NAME, DB_USER, DB_PASSWORD); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $dbh->prepare('INSERT INTO article_tag (id, article_id, value, create_date) VALUES (NULL, :article_id, :value, NULL)'); $stmt->bindValue(':value', $value); $stmt->bindValue(':article_id', $article_id); $stmt->execute(); return true; } catch (Exception $e) { echo $e->getMessage(); return false; } }
セキュリティのことがわからない人でも、とりあえず、prepare() してから、 execute() をするように心がけたほうがいいです。