czy można jednocześnie tworzyć tabelę SQL i wstawiać dane?
kiedy usunąłem tabelę tworzenia, to działa, ale czy można to zrobić na kodzie?

tutaj jest kod
$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!";
Oto błąd, gdy nie usunąłem tabeli tworzenia
Błąd: UTWÓRZ TABELĘ student (ID ucznia INT, imię i nazwisko VARCHAR (20), kierunek VARCHAR (20), KLUCZ PODSTAWOWY (student_id)); INSERT INTO student VALUE (2, 'kate', 'sociology')
Masz błąd w składni SQL; sprawdź podręcznik, który odpowiada Twojej wersji serwera MariaDB, aby znaleźć właściwą składnię, której należy użyć w pobliżu „INSERT INTO student VALUE (2,„ kate ”,„ sociology ”) w wierszu 8
Odpowiedzi
Masz 2 literówki w swoim kodzie:
Brak ";" między instrukcjami CREATE i INSERT.
Instrukcja INSERT używa VALUES, a nie 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')";
Poza tym sprawdź oficjalne dokumenty dotyczące instrukcji mysqli Multiple i mysqli_multi_query (), ponieważ jak wspomniano w pierwszym dokumencie:
Funkcje API mysqli_query () i mysqli_real_query () nie ustawiają flagi połączenia niezbędnej do aktywacji wielu zapytań na serwerze. Dodatkowe wywołanie interfejsu API jest używane w przypadku wielu instrukcji, aby zmniejszyć prawdopodobieństwo przypadkowych ataków polegających na wstrzyknięciu kodu SQL.
Możesz też zmienić kod, aby uruchamiać każde zapytanie osobno.