2010-12-06 3 views
1

나는 점점 사로 잡혀있다. 나는 준비된 문을 처음으로 일하고 있어요 그리고 난 당신이 같은 성명을 준비 수있는 곳 읽고 확신 : 그런작성된 진술서 mysqli

$stmt = $db->prepare("INSERT INTO {$table} (:var1, :var2) VALUES (:val1, :val2)"); 
$stmt->bind_param(':var1', $var1); 
$stmt->bind_param(':var2', $var2); 
$stmt->bind_param(':val1', $val1); 
$stmt->bind_param(':val2', $val2); 
$stmt->execute(); 

또는 무언가를. 접두어로 ':'기호를 사용하여 특정 이름의 vars를 호출 할 수 있다고 읽었습니다. 그러나 나는 그 예를 실제로 발견 할 수 없다. PHP 매뉴얼을 읽었고이 샘플을 찾을 수 없었습니다. 맞습니까? 아니면 꿈꿔 왔습니까? 나는 단순히 사용할 수 없습니다 왜

자주 묻는 질문

을 궁금해하는 경우 '를?' 방법 :

$stmt = $db->prepare("INSERT INTO {$table} (?, ?, ?, ?, ?, ?) VALUES (?, ?, ?, ?, ?, ?)"); 

이것은 쓰기가 어렵습니다.

+0

피가 렐리 (Pigarelli) -'select @current_time : = NOW(); @current_time을 선택하십시오; 추신 : 너무 열에 바인딩이 허용되지 않습니다 – ajreal

답변

1

:var1, :var2, :varX을 열 이름 목록과 VALUES 목록에서 모두 사용할 수 없습니다. 둘째, PDO는 명명 된 매개 변수 바인딩을 허용합니다.

PHP Data Objects 및 예 : PDO::prepare을 참조하십시오.