PDO 클래스에서 확장되었으며 내 프로젝트에서이 클래스를 사용하여 클래스를 입력했습니다. 하지만 삽입 메소드에서 오류가 발생합니다. 추적 코드에PHP PDO 삽입 클래스 메소드가 작동하지 않습니다.
는 삽입을위한 테이블에 있습니다 :이 같은
public function insert($table, $data)
{
ksort($data);
$field_Names = implode(', ',array_keys($data));
$field_Values = ':'.implode(', :',array_keys($data));
$sth = $this->prepare("$table ($field_Names) VALUES($field_Values)");
foreach ($data as $key => $value) {
$sth->bindValue(":$key",$value);
}
$this->_numrows = $sth->rowCount();
if($this->_numrows > 0)
return 1;
else
return 0;
}
그리고에 사용하여 프로젝트 :
return $this->db->insert("INSERT INTO kategoriler(tr_adi,en_adi,sira,isHeader,parentID,url) VALUES(:tr_adi,:en_adi,:sira,:isHeader,:parentID,:url)",
array(
"tr_adi" => $tr_adi,
"en_adi" => $en_adi,
"sira" => $sira,
"isHeader" => 0,
"parentID" => $parentID,
"url" => $url
));
그러나이 작동하지 않습니다. 나는 $ sth-와 print_r의 기능> ERRORINFO()를 넣어 오류 얻을 : 당신은 당신의 기능을 잘못 사용하는
Array
(
[0] => 42000
[1] => 1064
[2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(en_adi, isHeader, parentID, sira, tr_adi, url) VALUES('Blue Sky Bar Lounge', '' at line 1
)
을 당신의 방법에 당신이 (테이블에 삽입 "('준비로 끝날 것 COL, COL, COL) 가치 (발, 발, 발) 가치 (발 , val, val) ")'전달 된 매개 변수와 준비 함수에 VALUES를 선언 했으므로 –
SQL과 PHP는 다른 언어입니다. 'var_dump ("$ table ($ field_Names) VALUES ($ field_Values)")'를 사용하여 어떤 쿼리를 실행할지 결정하십시오. –
PHP에는'E_DOESNT_WORK'이 없습니다. –