-3
자리를 대체하지 않습니다 준비 :PDO 내가 PDO 사용하여 데이터베이스를 채우기 위해 다음 코드를 사용했습니다
$stmt = $pdo->prepare("
INSERT INTO :season
VALUES
(
:tag,:rank, //and so on
);
");
for($l = 0; $l < count($data); $l++) {
$stmt->execute([
'season' => $tables[$i],
'tag' => $data[$l]["tag"],
'rank' => $data[$l]["rank"],
// and so on
]);
}
하지만 얻을 응답은 다음과 같습니다
구문 오류 또는 액세스 위반 : 1064 SQL 구문에 오류가 있습니다. MariaDB 서버 버전에 해당하는 설명서를 확인하여 올바른 구문을 사용하여 '? E에서 '1 행에서'VALUES (,,,,,,,,?????????) : \ XAMPP \ htdocs를 \ CoC_API \ legenden \ SQL_Test \ API_SQL.php
사람을합니까 오류가 어디 있는지 아십니까?
모든 항목을 따옴표로 묶어야합니까?
일반적으로 주사를 허용하지 않습니다. 파라미터로서의 테이블 명 –
그리고 TiesonT에 추가. execute() - 호출의 매개 변수 이름 앞에는 선행 콜론이 와야합니다. – user5329483
Tieson의 팁이 수정되었습니다. 그러나 테이블 이름을 동적으로 만드는 다른 방법이 있습니다. 테이블 이름은 숫자 ID이므로 이스케이프 할 필요가 없습니다. –