/* データベースにアクセス */ function db_access($sql){ global $wpdb; define('DB_HOST', $wpdb->dbhost); define('DB_NAME', $wpdb->dbname); define('DB_USER', $wpdb->dbuser); define('DB_PASSWORD', $wpdb->dbpassword); $options = array(PDO::MYSQL_ATTR_INIT_COMMAND=>"SET CHARACTER SET 'utf8mb4'"); error_reporting(E_ALL & ~E_NOTICE); try { $dbh = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASSWORD, $options); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo $e->getMessage(); exit; } $stmt = $dbh->query($sql); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); return $result; unset($dbh); }
$sql = 'SELECT * FROM table_name WHERE page_id = '.$post_id; $stmt = db_access($sql);
こんな感じ。
db_access(sql)でやっている。
いまのところセレクトしか想定していない。
こういうのはクラス?を使った方がいいのかなぁ。
その辺りも調べておこう。
こういった場合のsql文もsprintfを使った方がいいのだろうか?