apakah mungkin membuat tabel SQL dan memasukkan data pada saat yang bersamaan?

Nov 28 2020

ketika saya menghapus buat tabel itu berfungsi, tetapi apakah mungkin untuk melakukan ini pada kode?

ini kodenya

    $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!";

Berikut adalah kesalahan ketika saya tidak menghapus tabel buat

Error: CREATE TABLE student (student_id INT, name VARCHAR (20), major VARCHAR (20), PRIMARY KEY (student_id)); MASUKKAN KE NILAI siswa (2, 'kate', 'sociology')

Ada kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MariaDB Anda untuk sintaks yang benar untuk digunakan di dekat 'INSERT INTO student VALUE (2,' kate ',' sociology ')' di baris 8

Jawaban

2 JM7 Nov 28 2020 at 10:22

Anda memiliki 2 kesalahan ketik dalam kode Anda:

  • ";" Tidak ada antara pernyataan CREATE dan INSERT.

  • Pernyataan INSERT menggunakan VALUES, bukan 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')";
    

Selain itu, periksa dokumen resmi untuk pernyataan berganda mysqli dan mysqli_multi_query () karena seperti yang disebutkan di dokumen pertama:

Fungsi API mysqli_query () dan mysqli_real_query () tidak menyetel tanda koneksi yang diperlukan untuk mengaktifkan multi kueri di server. Panggilan API tambahan digunakan untuk beberapa pernyataan guna mengurangi kemungkinan serangan injeksi SQL yang tidak disengaja.

Atau Anda juga dapat mengubah kode Anda untuk menjalankan setiap kueri satu per satu.