Comment créer un tableau et y insérer des données?
Nov 28 2020
Ce que j'essaie de faire, c'est $sql
ici que je vais coder les commandes SQL
$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!";
Ceci est la sortie lorsque j'ai supprimé la table de création. Les données insérées ont réussi
New Table Created!
Connected Successfully!
C'est la sortie quand je n'ai pas supprimé le 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!
Quelle fonction dois-je utiliser pour insérer $sql
les commandes SQL comme celle-ci? Est-ce même possible? Est-ce ainsi que fonctionne SQL?
$sql = "CREATE TABLE student (
student_id INT,
name VARCHAR(20),
major VARCHAR(20),
PRIMARY KEY(student_id)
);
INSERT INTO student VALUE(3, 'joseph', 'education');"
Réponses
2 Dharman Nov 28 2020 at 18:50
Vous devez le faire en deux étapes. Commencez par préparer une déclaration avec le CREATE TABLE
, puis préparez la deuxième déclaration avec 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();