Hướng dẫn insert query error in php - chèn lỗi truy vấn trong php

Bạn đang trộn các chức năng mysqli_* với các chức năng mysql_*. Bạn không thể làm điều đó; Họ không phải là cùng một thư viện.

Chỉ sử dụng mysqli_*. Vui lòng không sử dụng mysql_*; Các chức năng mysql_* đã lỗi thời, không dùng nữa và không an toàn. Sử dụng

$vals = "INSERT INTO `Log` [`Trip`, `Odometer`, `Gallons_Pumped`, `Price_Gallon`]
VALUES ['$trip', '$odom', '$gals', '$ppg']";
1 hoặc
$vals = "INSERT INTO `Log` [`Trip`, `Odometer`, `Gallons_Pumped`, `Price_Gallon`]
VALUES ['$trip', '$odom', '$gals', '$ppg']";
2 thay thế.

Khối cuối cùng của mã của bạn phải [chưa được kiểm tra]:

$retval = mysqli_query[$vals]; // changed

if [$retval] {
    echo "New record created successfully";
} else {
    echo "Error: " . $vals . "
" . mysqli_error[$conn]; // changed } mysqli_close[$conn]; // changed

Lưu ý sự thay đổi từ

$vals = "INSERT INTO `Log` [`Trip`, `Odometer`, `Gallons_Pumped`, `Price_Gallon`]
VALUES ['$trip', '$odom', '$gals', '$ppg']";
3 thành
$vals = "INSERT INTO `Log` [`Trip`, `Odometer`, `Gallons_Pumped`, `Price_Gallon`]
VALUES ['$trip', '$odom', '$gals', '$ppg']";
4. Theo định nghĩa, nếu bạn đạt được điểm đó trong mã của mình thì đó là vì
$vals = "INSERT INTO `Log` [`Trip`, `Odometer`, `Gallons_Pumped`, `Price_Gallon`]
VALUES ['$trip', '$odom', '$gals', '$ppg']";
5 được đánh giá thành
$vals = "INSERT INTO `Log` [`Trip`, `Odometer`, `Gallons_Pumped`, `Price_Gallon`]
VALUES ['$trip', '$odom', '$gals', '$ppg']";
6 và do đó không phải là một đối tượng.

Ngoài ra, xin lưu ý rằng bạn rộng mở để tiêm SQL. Câu lệnh SQL của bạn là đây:SQL injection. Your SQL statement is this:

$vals = "INSERT INTO `Log` [`Trip`, `Odometer`, `Gallons_Pumped`, `Price_Gallon`]
VALUES ['$trip', '$odom', '$gals', '$ppg']";

Nhưng những giá trị đó [

$vals = "INSERT INTO `Log` [`Trip`, `Odometer`, `Gallons_Pumped`, `Price_Gallon`]
VALUES ['$trip', '$odom', '$gals', '$ppg']";
7, v.v.] đến trực tiếp từ người dùng [thông qua
$vals = "INSERT INTO `Log` [`Trip`, `Odometer`, `Gallons_Pumped`, `Price_Gallon`]
VALUES ['$trip', '$odom', '$gals', '$ppg']";
8]. Những điều rất xấu có thể xảy ra nếu người dùng của bạn gửi các giá trị chứa, ví dụ, ký tự
$vals = "INSERT INTO `Log` [`Trip`, `Odometer`, `Gallons_Pumped`, `Price_Gallon`]
VALUES ['$trip', '$odom', '$gals', '$ppg']";
9. Bạn nên sử dụng các câu lệnh đã chuẩn bị, như thế này:

$vals = "INSERT INTO `Log` [`Trip`, `Odometer`, `Gallons_Pumped`, `Price_Gallon`]
VALUES [?, ?, ?, ?]";

if[$stmt = mysqli_prepare[$conn, $vals]] {
    // adjust "sddd" below to match your data types; see //php.net/manual/en/mysqli-stmt.bind-param.php
    mysqli_stmt_bind_param[$stmt, "sddd", $trip, $odom, $gals, $ppg];

    $retval = mysqli_stmt_execute[$stmt];
} else {
    echo "Error: " . $vals . "
" . mysqli_error[$conn]; } mysqli_close[$conn];

❮ Php mysqli tham khảo

Ví dụ - Phong cách định hướng đối tượng

Trả về mô tả lỗi cuối cùng cho cuộc gọi chức năng gần đây nhất, nếu có:

Bài Viết Liên Quan

Chủ Đề