Wie erstelle ich eine Tabelle und füge Daten ein?
Nov 28 2020
Ich versuche hier $sql
die SQL-Befehle zu codieren
$connect = new mysqli($servername, $username, $password, $database);
if ($connect -> connect_error) { die("Unable to Connect : " . connect_error); } $sql = /*"CREATE TABLE student (
student_id INT,
name VARCHAR(20),
major VARCHAR(20),
PRIMARY KEY(student_id)
); */
"INSERT INTO student VALUE(3, 'joseph', 'education');";
if ($connect -> query($sql) === TRUE) {
echo "New Table Created! <br><br>";
}
else {
echo "Error : " . $sql . " <br><br>" . $connect -> error . "<br><br>";
}
echo "Connected Successfully!";
Dies ist die Ausgabe, als ich die Erstelltabelle entfernt habe. Die eingefügten Daten sind erfolgreich
New Table Created!
Connected Successfully!
Dies ist die Ausgabe, als ich die nicht entfernt habe CREATE TABLE
Error : CREATE TABLE student ( student_id INT, name VARCHAR(20), major VARCHAR(20), PRIMARY KEY(student_id) ); INSERT INTO student VALUE(3, 'joseph', 'education');
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'INSERT INTO student VALUE(3, 'joseph', 'education')' at line 8
Connected Successfully!
Welche Funktion muss ich verwenden, um $sql
die SQL-Befehle wie folgt einzugeben? Ist es überhaupt möglich? Funktioniert SQL so?
$sql = "CREATE TABLE student (
student_id INT,
name VARCHAR(20),
major VARCHAR(20),
PRIMARY KEY(student_id)
);
INSERT INTO student VALUE(3, 'joseph', 'education');"
Antworten
2 Dharman Nov 28 2020 at 18:50
Sie müssen dies in zwei Schritten tun. Bereiten Sie zuerst eine Anweisung mit dem CREATE TABLE
und dann die zweite Anweisung mit vor INSERT
.
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$connect = new mysqli($servername, $username, $password, $database); $connect->set_charset('utf8mb4'); // always set the charset
$sql = "CREATE TABLE student ( student_id INT, name VARCHAR(20), major VARCHAR(20), PRIMARY KEY(student_id) )"; $stmt = $connect->prepare($sql);
$stmt->execute(); $stmt = $connect->prepare("INSERT INTO student VALUE(3, 'joseph', 'education')"); $stmt->execute();