毎回コピペが面倒なのでここにまとめます。
変数値のバインドをしない場合
<?php use Cake\Datasource\ConnectionManager; // SQL組み立て $sql = <<< EOSQL ~SQLを書く~ EOSQL; // SQL実行 $connection = ConnectionManager::get('default'); $results = $connection->execute( $sql )->fetchAll('assoc'); ?>
変数値をバインドする場合
SQL内で不明の値は「?」と書く。
<?php use Cake\Datasource\ConnectionManager; // SQL組み立て $sql = <<<EOSQL ~SQLを書く~ WHERE val1 = ? EOSQL; // SQLバインド $conn = ConnectionManager::get('default'); $statement_obj = $conn->prepare($sql); $statement_obj->bind( [ "バインドしたい値" ], // 値 [ "string" ] // 変数型 ); // SQLをdebug //return [[$statement_obj->queryString, ""]]; // SQL実行 $statement_obj->execute(); $rows = $statement_obj->fetchAll('assoc'); ?>