2013-06-03 2 views
0
여기

내 코드 왜 아무 생각이 업데이트되지 않은 :이 페이지를 실행하면PHP는 PDO는

$page = 'home'; 
$data = 'blah blah blah'; 
// my database connection (i know there is no problems here); 
require_once('../inc/connection.php'); 
$id = 1; 
$values = array(
    ':page' => $page, 
    ':id' => $id, 
    ':data' => $data 
); 
$query = 'UPDATE site SET :page=:data WHERE id=:id'; 
$sql = $conn->prepare($query); 
$sql->execute($values); 
// this prints out perfect 
echo 'UPDATE site SET '.$page.'='.$data.' WHERE id='.$id; 

는이 말에 에코를 인쇄,하지만 난 내 사이트 테이블을 검사 할 때 업데이트를 반영하지 않습니다 . 내가 뭘하고 있는지 전혀 모르겠다. select 쿼리를 잘 작성했기 때문에 연결이 양호합니다.

+0

단지 두 번 확인하려면 업데이트 쿼리가 PHP 외부에서 정상적으로 실행됩니까? –

답변

2

Table and Column names cannot be replaced by parameters in PDO

그래서

$query = 'UPDATE `site` 
      SET `page`=:data 
      WHERE id=:id'; 

특정 일을해야 쿼리, 당신은 동적 열은 다음 아마도 if 또는 switch 문에 넣어, 또는 이것을 처리하는 데이터베이스 모델을 구축해야하는 경우 열 변형을 다루는 클래스 메소드.