「Php/pdoメモ」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→接続) |
(→timeフォーマットエラー対策) |
||
(同じ利用者による、間の3版が非表示) | |||
行29: | 行29: | ||
// 切断 | // 切断 | ||
$conn = null; | $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' |
2018年10月18日 (木) 23:43時点における最新版
目次
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'