前提・実現したいこと
$user = "testuser";
$password = "testuser";
$dbname = "testdb";
$host = "localhost";
$dsn = "mysql:host={$host};dbname={$dbname};charset=utf8";
try{
$pdo = new PDO($dsn,$user,$password);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
//ここのsql文を増やすときに4行を度々書くのは大変なので、まとめたい。
$sql = "SELECT * FROM member";
$stm = $pdo->prepare($sql);
$stm->execute();
$results = $stm->fetchAll(PDO::FETCH_ASSOC);
}catch(exception $e){
echo $e->getMessage();
exit();
}
発生している問題・エラーメッセージ
SQL文を関数にまとめるのが上手くいきません。 どのように改善すれば良いでしょうか。お願いします。
該当のソースコード
PHP
1function sql($sql,$code,$stm,$results){ 2 $$sql = $code; 3 $$stm = $pdo->prepare($sql); 4 $stm->execute(); 5 $$results = $stm->fetchAll(PDO::FETCH_ASSOC); 6 7 return $sql,$code,$stm,$results; 8 } 9 10エラーが発生せずに実行できたとして、この関数を2つ実行する時に 11sql("sql","SELECT * FROM member","stm","results") 12sql("sql2","SELECT * FROM home","stm2","results2"); 13 14関数名を変更しないと$resultsの値を取得するときにエラーになるのかなと思いました。
試したこと
//関数の実行
sql("test","SELECT * FROM member","stm","results");
//エラー
Parse error: syntax error, unexpected ',', expecting ';' in
回答2件
あなたの回答
tips
プレビュー