SQL 테이블을 만들고 동시에 데이터를 삽입 할 수 있습니까?
생성 테이블을 제거하면 작동하지만 코드에서이 작업을 수행 할 수 있습니까?

여기에 코드가 있습니다
$sql = "CREATE TABLE student ( student_id INT, name VARCHAR(20), major VARCHAR(20), PRIMARY KEY(student_id) ) INSERT INTO student VALUE(1, 'Jack', 'biology')"; if ($connect -> query($sql) === TRUE) { echo "New Table Created! <br><br>"; } else { echo "Error : " . $sql . " <br><br>" . $connect -> error . "<br><br>";
}
echo "Connected Successfully!";
다음은 생성 테이블을 제거하지 않은 오류입니다.
오류 : CREATE TABLE student (student_id INT, name VARCHAR (20), major VARCHAR (20), PRIMARY KEY (student_id)); INSERT INTO student VALUE (2, 'kate', 'sociology')
SQL 구문에 오류가 있습니다. 8 행의 'INSERT INTO student VALUE (2,'kate ','sociology ')'근처에서 사용할 올바른 구문은 MariaDB 서버 버전에 해당하는 설명서를 확인하십시오.
답변
코드에 2 개의 오타가 있습니다.
잃어버린 ";" CREATE 및 INSERT 문 사이.
INSERT 문은 VALUE가 아닌 VALUES를 사용합니다.
$sql = "CREATE TABLE student ( student_id INT, name VARCHAR(20), major VARCHAR(20), PRIMARY KEY(student_id) ); INSERT INTO student VALUES (1, 'Jack', 'biology')";
그 외에도 첫 번째 문서에서 언급했듯이 mysqli Multiple 문 및 mysqli_multi_query ()에 대한 공식 문서를 확인하십시오 .
API 함수 mysqli_query () 및 mysqli_real_query ()는 서버에서 다중 쿼리를 활성화하는 데 필요한 연결 플래그를 설정하지 않습니다. 실수로 인한 SQL 주입 공격의 가능성을 줄이기 위해 여러 문에 추가 API 호출이 사용됩니다.
또는 각 쿼리를 개별적으로 실행하도록 코드를 변경할 수도 있습니다.