以下の通りです。
先日の 問合せフォーム用 ajax web api server side php code - end0tknr's kipple - 新web写経開発 に続く、手習い
<?php $db_conf = array( 'dsn' =>'mysql:dbname=xing;host=localhost;charset=utf8', 'user' =>'root', 'pw' =>'ないしょ', 'option'=>array(PDO::ATTR_AUTOCOMMIT=>true, PDO::ATTR_ERRMODE =>PDO::ERRMODE_EXCEPTION) ); init(); main(); function main(){ global $db_conf; $dbh = connect_db($db_conf); try { $sth = $dbh->prepare('SELECT * FROM test_tbl limit ?'); //$sth->bindValue(1, "HGOE", PDO::PARAM_STR); $sth->bindValue(1, 10, PDO::PARAM_INT); $sth->execute(); } catch (PDOException $e) { $tmp_msg = "fail sql ". $e->getMessage(); error_log($tmp_msg); die($tmp_msg); // return null; } foreach ($sth as $row) { error_log(var_dump($row)); } $pdo = null; // DB切断 } function connect_db($db_conf){ try { $dbh = new PDO($db_conf['dsn'], $db_conf['user'],$db_conf['pw'], $db_conf['option']); } catch (PDOException $e) { $tmp_msg = "fail connect_db()". $e->getMessage(); error_log($tmp_msg); die($tmp_msg); } return $dbh; } function init(){ // php.ini 代替設定 // ini_set('extension', 'php_pdo.dll'); // error_log() method により、apache error_log へ出力する為 ini_set('display_errors', 1); ini_set("error_reporting",E_ALL); ini_set("log_errors","on"); ini_set('error_log', 'php://stderr'); // ini_set('error_log', '/path/to/logs/php.log'); ini_set("date.timezone", "Asia/Tokyo"); // session有効期間 ini_set( 'session.gc_divisor', 1); ini_set( 'session.gc_maxlifetime', 60*30 ); //sec }