¿Es posible crear una tabla SQL e insertar datos al mismo tiempo?
cuando eliminé la tabla de creación, está funcionando, pero ¿es posible hacer esto en el código?

aquí está el 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!";
Aquí está el error cuando no eliminé la tabla de creación
Error: CREAR TABLA estudiante (student_id INT, nombre VARCHAR (20), mayor VARCHAR (20), PRIMARY KEY (student_id)); INSERT INTO student VALUE (2, 'kate', 'sociology')
Tiene un error en su sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MariaDB para conocer la sintaxis correcta para usar cerca de 'INSERT INTO student VALUE (2,' kate ',' sociology ')' en la línea 8
Respuestas
Tiene 2 errores tipográficos en su código:
Desaparecido ";" entre las sentencias CREATE e INSERT.
La instrucción INSERT usa VALUES, no 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')";
Aparte de eso, verifique los documentos oficiales para mysqli Multiple Statement y mysqli_multi_query () ya que como se menciona en el primer documento:
Las funciones de la API mysqli_query () y mysqli_real_query () no establecen un indicador de conexión necesario para activar múltiples consultas en el servidor. Se utiliza una llamada adicional a la API para varias declaraciones a fin de reducir la probabilidad de ataques de inyección SQL accidentales.
O también puede cambiar su código para ejecutar cada consulta individualmente.