PDO と SQLについてお尋ねします。SQLで、Where name LIKE '%bcd%' にて検索したいのですがエラーが発生します。PDOでは、%は使えないような記述があるのですが、簡単に使える様にする方法をご教示願います。尚、下記のPDOの記述、データのゲットのロジックは汎用で使用しているため、変更したくありません。よろしくお願いします。〇エラーメッセージ Fatal error: Call to a member function fetch() on a non-object in SelectData php on line 13>各記述について①PDOの記述01.function ComModel() {02.try {$con = new PDO('pgsql:dbname=' . $database . ';host=' . $server, $user, $password); }03.catch (PDOException $e){exit('データベースに接続できません。処理を中止します。' . $e-\u0026gt;getMessage()); }$this-\u0026gt;db = $con;}②データのゲット10.function SelectData($sql) 11. { $res = $this-\u0026gt;db-\u0026gt;query($sql);12. $result = array();13. while ($row = $res-\u0026gt;fetch(PDO::FETCH_ASSOC))14. { $result[] = $row; }15. return $result; }〇SelectData($spl)の呼出し③データの呼出し>SQL内容 $sql = select * form abc where name like '%bcd%' order by name >呼出し $_SESSION['data'] = $this-\u0026gt;SelectData($sql);※ComModel、ComModelは、データゲットのプロセスの中で をrequire_onceなどを行っています。

Word

1件の回答

回答を書く

1215859

2026-01-10 08:35

+ フォロー

ヒアドキュメントが簡単です。

終端文字列の前に、空行を1個入れてください。



$sql= \u0026lt;\u0026lt;\u0026lt;SQL

SELECT * FROM 表名

Where name LIKE '%bcd%'



SQL;

$stmt = $pdo-\u0026gt;prepare($sql);

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有