「Php/pdoメモ」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→timeフォーマットエラー対策) |
|||
| (同じ利用者による、間の1版が非表示) | |||
| 行46: | 行46: | ||
try { | try { | ||
$conn = new PDO("mysql:host=".$env['DB_HOST']."; dbname=".$env['DB_DATABASE'], $env['DB_USERNAME'], $env['DB_PASSWORD']); | $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'
