Rumah  >  Artikel  >  pangkalan data  >  Lajur 'column_name' tidak diketahui dalam 'senarai medan' - Cara menyelesaikan ralat MySQL: lajur tidak diketahui dalam senarai medan

Lajur 'column_name' tidak diketahui dalam 'senarai medan' - Cara menyelesaikan ralat MySQL: lajur tidak diketahui dalam senarai medan

WBOY
WBOYasal
2023-10-05 10:44:003852semak imbas

Unknown column 'column_name' in 'field list' - 如何解决MySQL报错:字段列表中的未知列

Tajuk: 'column_name' lajur tidak diketahui dalam 'senarai medan' - Cara menyelesaikan ralat MySQL: Lajur tidak diketahui dalam senarai medan, contoh kod khusus diperlukan

Apabila menggunakan pangkalan data MySQL untuk pertanyaan atau operasi, kadangkala anda akan menghadapi Sebegitu mesej ralat: "Lajur 'column_name' tidak diketahui dalam 'senarai medan'", iaitu, terdapat ralat lajur tidak diketahui dalam senarai medan. Ini biasanya disebabkan oleh ketiadaan atau ralat ejaan dalam jadual pangkalan data.

Jadi, apabila kita menghadapi ralat ini, bagaimanakah kita harus menyelesaikannya? Berikut ialah beberapa penyelesaian, bersama-sama dengan contoh kod tertentu.

  1. Semak Ejaan Nama Lajur
    Pertama, kita perlu menyemak dengan teliti nama lajur yang digunakan dalam pernyataan SQL untuk memastikan bahawa ia dieja dengan betul dan konsisten dengan nama lajur sebenar jadual pangkalan data. Jika anda tidak pasti sama ada nama lajur adalah betul, anda boleh menggunakan perintah DESCRIBE atau bertanya jadual information_schema untuk mendapatkan senarai nama lajur.

Sebagai contoh, dalam pernyataan SQL berikut, kami menggunakan nama lajur "nama pengguna" yang salah, mengakibatkan ralat:

SELECT usernamee, email FROM users;

Tulisan yang betul hendaklah:

SELECT username, email FROM users;
  1. Semak nama jadual
    Dalam beberapa kes, The mesej ralat juga mungkin disebabkan oleh nama jadual yang salah. Sebagai contoh, nama jadual yang tidak wujud digunakan dalam pernyataan pertanyaan, atau awalan pangkalan data dilupakan.

Semak nama jadual yang digunakan dalam pernyataan SQL untuk memastikan ia wujud dalam pangkalan data dan dieja dengan betul. Jika awalan pangkalan data digunakan, pastikan awalan itu juga betul.

Sebagai contoh, dalam pernyataan SQL berikut, kami menggunakan nama jadual "userss" yang tidak wujud, mengakibatkan ralat:

SELECT username, email FROM userss;

Tulisan yang betul hendaklah:

SELECT username, email FROM users;
  1. Gunakan backticks (`)
    Dalam beberapa Dalam sesetengah kes, nama lajur atau nama jadual mungkin bercanggah dengan perkataan simpanan MySQL, mengakibatkan ralat. Untuk mengelakkan ini, anda boleh menggunakan tanda belakang (`) untuk membalut nama lajur atau jadual.

Berikut ialah contoh penggunaan backtick:

SELECT `username`, `email` FROM `users`;
  1. Menggunakan Alias ​​​​(Alias)
    Jika anda perlu menyamakan nama lajur tertentu, anda boleh menggunakan kata kunci AS untuk menentukan alias untuk nama lajur. Ini bukan sahaja mengelakkan ralat, tetapi juga menjadikan hasil pertanyaan lebih mudah dibaca.

Berikut ialah contoh penggunaan alias:

SELECT username AS '用户名', email AS '邮箱' FROM users;
  1. Gunakan contoh kod tertentu
    Untuk menggambarkan dengan lebih baik cara menyelesaikan ralat "Lajur tidak diketahui 'nama_lajur' dalam 'senarai medan'", contoh kod khusus disediakan di bawah , dengan mengandaikan kami mempunyai jadual bernama "pengguna" yang mengandungi lajur berikut: id, nama pengguna, e-mel.
<?php
$servername = "localhost";
$username = "root";
$password = "your_password";
$dbname = "your_database";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

$sql = "SELECT usernamee, email FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "用户名: " . $row["username"] . ",邮箱: " . $row["email"] . "<br>";
    }
} else {
    echo "没有找到任何记录";
}

$conn->close();
?>

Dalam kod di atas, kami sengaja salah mengeja nama lajur "nama pengguna" sebagai "nama pengguna", menyebabkan ralat. Nama lajur yang betul hendaklah "nama pengguna".

Melalui penjelasan dan contoh di atas, saya percaya anda sudah boleh memahami dan menyelesaikan ralat "Lajur tidak diketahui 'nama_lajur' dalam 'senarai medan'". Dalam operasi sebenar, pastikan anda menyemak dengan teliti sama ada nama lajur dan jadual adalah betul dan cuba gunakan backtick atau alias untuk mengelakkan konflik.

Untuk meringkaskan, kunci untuk menyelesaikan ralat MySQL "Lajur tidak diketahui 'column_name' dalam 'field list'" adalah dengan berhati-hati menyemak nama lajur dan nama jadual, pastikan ia dieja dengan betul, dan gunakan backtick atau alias untuk mengelakkan konflik . Pada masa yang sama, contoh kod khusus juga boleh membantu kami memahami dan menyelesaikan masalah dengan lebih baik. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Lajur 'column_name' tidak diketahui dalam 'senarai medan' - Cara menyelesaikan ralat MySQL: lajur tidak diketahui dalam senarai medan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn