테이블을 만들고 데이터를 삽입하는 방법은 무엇입니까?
Nov 28 2020
내가하려는 $sql
것은 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!";
이것은 생성 테이블을 제거했을 때의 출력입니다. 삽입 된 데이터가 성공적입니다.
New Table Created!
Connected Successfully!
이것은 내가 제거하지 않았을 때의 출력입니다. 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!
$sql
이와 같은 SQL 명령 을 입력하려면 어떤 기능을 사용해야 합니까? 가능할까요? 이것이 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');"
답변
2 Dharman Nov 28 2020 at 18:50
두 단계로 수행해야합니다. 먼저를 사용하여 문 CREATE TABLE
을 준비한 다음를 사용하여 두 번째 문을 준비합니다 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();