Como criar uma tabela e inserir dados nela?
Nov 28 2020
O que estou tentando fazer $sql
é aqui que irei codificar os comandos 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!";
Esta é a saída quando removi a tabela de criação. Os dados inseridos foram bem sucedidos
New Table Created!
Connected Successfully!
Esta é a saída quando eu não removi o 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!
Qual função eu preciso usar para inserir $sql
os comandos SQL como este? É mesmo possível? É assim que funciona o 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');"
Respostas
2 Dharman Nov 28 2020 at 18:50
Você precisa fazer isso em duas etapas. Primeiro, prepare uma declaração com CREATE TABLE
e, em seguida, prepare a segunda declaração com 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();
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas