0
조건부로 SQL 문을 작성하고 문제가 있습니다. 이 경우 WHERE 절이있을 수도 있고 없을 수도 있습니다.조건부 SQL에서 PDO 실행 오류
$sql=null;
$arr='';
if($id != 'all'){
$sql = ' WHERE type = :type AND id=:id';
$arr = array(':type'=>$type,':id'=>$id);
}
$stmt = $dbh->prepare("SELECT * FROM table $sql");
$stmt->execute($arr);
...
id가 'all'과 같으면 WHERE 절없이 sql을 다시 작성하고자합니다. 실행하려면 $ arr을 전달해야하므로 실행시 값이 필요하기 때문에 id = 'all'이면 folowing 오류가 발생합니다. PHP 경고 : PDOStatement :: execute()는 매개 변수 1이 배열이 될 것으로 예상하고 문자열이 주어진 경우
빈 배열을 전달하여 전달했지만 오류가 발생했습니다. 각각의 고유 한 실행 구문을 가진 두 개의 완전한 블록을 다시 작성하지 않고이 작업을 수행하려면 어떻게해야합니까?
감사합니다. 그게 내가 현재 갖고있는 방법이지만, 사람을 처리하는 더 좋은 방법이있는 것처럼 보입니다. 당신은 맞을지도 모릅니다. – NaN
당신이 옳았다 고 생각합니다. :) 나는 대답을 당신에게 부여했습니다. 고맙습니다. – NaN