é possível criar tabela SQL e inserir dados ao mesmo tempo?
quando removi a tabela de criação, ela está funcionando, mas é possível fazer isso no código?

aqui está o código
$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!";
Aqui está o erro quando eu não removi a tabela de criação
Erro: CREATE TABLE aluno (aluno_id INT, nome VARCHAR (20), principal VARCHAR (20), PRIMARY KEY (aluno_id)); INSERT INTO student VALUE (2, 'kate', 'sociology')
Você tem um erro em sua sintaxe SQL; verifique o manual que corresponde à sua versão do servidor MariaDB para obter a sintaxe correta para usar próximo a 'INSERT INTO student VALUE (2,' kate ',' sociology ')' na linha 8
Respostas
Você tem 2 erros de digitação em seu código:
Ausência de ";" entre as instruções CREATE e INSERT.
A instrução INSERT usa VALUES, não VALUE.
$sql = "CREATE TABLE student ( student_id INT, name VARCHAR(20), major VARCHAR(20), PRIMARY KEY(student_id) ); INSERT INTO student VALUES (1, 'Jack', 'biology')";
Afora isso, verifique os documentos oficiais para instruções múltiplas de mysqli e mysqli_multi_query (), conforme mencionado no primeiro documento:
As funções da API mysqli_query () e mysqli_real_query () não definem um sinalizador de conexão necessário para ativar consultas múltiplas no servidor. Uma chamada de API extra é usada para várias instruções para reduzir a probabilidade de ataques de injeção de SQL acidentais.
Ou você também pode alterar seu código para executar cada consulta individualmente.