2013-06-17 7 views
2

이 코드가 포함 된 함수를 실행할 때 null이 반환됩니다. 아무도 내 문제를 볼 수 있습니까?PHP PDO 준비 및 실행 문

$statement = $connect->prepare("UPDATE pages " . 
"SET " . 
"pageTitle = :pageTitle, " . 
"pageSubTitle = :pageSubTitle, " . 
"pageContent = :pageContent, " . 
"pageMetaKeywords = :pageMetaKeywords, " . 
"pageMetaDescription = :pageMetaDescription, " . 
"pageDateUpdated = :pageDateUpdated " . 
"WHERE " . 
"pageID = :pageID"); 

$array = array(
    "pageTitle" => $_POST["pageTitle"], 
    "pageSubTitle" => $_POST["pageSubTitle"], 
    "pageContent" => $_POST["pageTitle"], 
    "pageMetaKeywords" => $_POST["pageContent"], 
    "pageMetaDescription" => $_POST["pageMetaDescription"], 
    "pageDateUpdated" => $_POST["pageDateUpdated"], 
    "pageID" => $_POST["pageID"] 
); 

$result = $statement->execute($array); 
+0

당신이 정말로 [히어 닥 (http://php.net/heredoc)를 사용하여 조사한다의 당신이 여러 줄 문자열 지정 일을 할 거라면 . 장기간에 걸쳐 오류 가능성이 훨씬 적고 판독 가능성이 훨씬 적습니다. –

+0

그래, 그 충고에 감사드립니다. 나는 전에 HEREDOCs를 보지 않았고, 지금 조사 할 것이다. –

+0

실제로 볼 것이 없다. heredoc은 일반 문자열보다 나쁩니다. –

답변

4

배열을 통해 전달하는 매개 변수가 잘못되었습니다. 당신은뿐만 아니라 :로 접두사해야합니다

$array = array(
    ":pageTitle" => $_POST["pageTitle"], 
    ^--- required 
+0

매력처럼 작동합니다. 고맙습니다. –