Php/pdoメモ
提供: 初心者エンジニアの簡易メモ
目次
pdoメモ
インストール
php-5.1移行であれば標準でついてくる
php.iniの編集(windows
以下を有効に
extension=php_pdo.dll extension=php_pdo_firebird.dll extension=php_pdo_mssql.dll extension=php_pdo_mysql.dll extension=php_pdo_oci.dll extension=php_pdo_oci8.dll extension=php_pdo_odbc.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll
接続
try { // MySQLサーバへ接続 $conn = new PDO("mysql:host=localhost; dbname=test", "username", "pas*****"); // $conn = new PDO('mysql:host=localhost; dbname=test;port=3306','username','pas*****'); $stmt = $conn->query("SELECT * FROM test"); while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ echo print_r($row,1); } } catch(PDOException $e){ var_dump($e->getMessage()); } // 切断 $conn = null;
1つのカラムだけ
$sql = "SELECT count(*) FROM tests;"; $stmt = $conn->query($sql); echo $stmt->fetchColumn():
設定ファイルを別ファイルにして接続
.env
DB_HOST=localhost DB_DATABASE=test DB_USERNAME=username1 DB_PASSWORD=xxxxxx
connect.php
$env = parse_ini_file('.env'); try { $conn = new PDO("mysql:host=".$env['DB_HOST']."; dbname=".$env['DB_DATABASE'], $env['DB_USERNAME'], $env['DB_PASSWORD']);
timeフォーマットエラー対策
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect time value: '00:42:60' for column 'movietime' at row 1' in
対応方法
$time = '00:42:60'; $time = date("H:i:s", strtotime($time)); echo $time; // '00:43:00'