実現したいこと
PHP内でlikeを使ったSQLで変数を利用する
発生している問題・エラーメッセージ
シングルクォーテーションの場所が分からない。今のままだとSQLエラーになる
該当のソースコード
$sql = ""; $sql .= " SELECT "; $sql .= " KANRINO,"; $sql .=" KANRINO_OYA,"; $sql .=" IPADDRESS,"; $sql .= " keiti.KEITAINM AS KEITAINM,"; $sql .=" YOUTO,"; $sql .=" tant.TANTNM AS TANTNM,"; $sql .=" MAKER,"; $sql .=" OS,"; $sql .=" CPUNM,"; $sql .=" DOMEIN,"; $sql .=" CPU,"; $sql .=" KOASU,"; $sql .=" MEMORI,"; $sql .=" DESK1,"; $sql .=" DESK2,"; $sql .=" DESK3,"; $sql .=" DESK4,"; $sql .=" DESK5,"; $sql .=" OSLICENCE,"; $sql .=" OFFICE,"; $sql .=" CASE WHEN KONYUYM IS NULL THEN '-' ELSE SUBSTR(TO_CHAR(KONYUYM,'000000'),1,5) || '/' || SUBSTR(TO_CHAR(KONYUYM,'000000'),6,2) END KONYUYM, "; $sql .=" CASE WHEN HAIKIYM IS NULL THEN '-' ELSE SUBSTR(TO_CHAR(HAIKIYM,'000000'),1,5) || '/' || SUBSTR(TO_CHAR(HAIKIYM,'000000'),6,2) END HAIKIYM, "; $sql .=" BIKO"; $sql .= " FROM "; $sql .= " public.M_TANMATU tanm "; $sql .= " LEFT JOIN "; $sql .= " public.M_TANT tant "; $sql .= " ON "; $sql .= " tanm.tantcd = tant.tantcd "; $sql .= " LEFT JOIN "; $sql .= " public.M_KEITAI keiti "; $sql .= " ON "; $sql .= " tanm.keitaikb = keiti.keitaikb "; $sql .= " WHERE "; $sql .= " KANRINO Like %".$W_KENSAKU."% " ;→この部分です。
※SQLについて聞きたいのでッ前後の処理は省きます
$W_KENSAKUは’あああ’が入っているとします。今のままだと%あああ%でシングルクォーテーションがないため、エラーになります。シングルクォーテーションをいれるとW_KENSAKUという固定値になります・
試したこと
KANRINO Like %""'".$W_KENSAKU."'""% " ;
こちらの質問が複数のユーザーから「調査したこと・試したことが記載されていない質問」という指摘を受けました。
回答3件
あなたの回答
tips
プレビュー