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 http://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ó:

$mysqli = new mysqli("localhost","my_user","my_password","my_db");

if ($ mysqli -> connect_errno) {& nbsp; Echo "Không thể kết nối với MySQL:". $ mysqli -> Connect_error; & nbsp; lối ra(); }
  echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
  exit();
}

// thực hiện truy vấn, kiểm tra lỗi (! $ Mysqli -> truy vấn ("chèn vào giá trị của người (firstName) ('glenn')")) {& nbsp; echo ("Mô tả lỗi:". $ mysqli -> lỗi); }
if (!$mysqli -> query("INSERT INTO Persons (FirstName) VALUES ('Glenn')")) {
  echo("Error description: " . $mysqli -> error);
}

$ mysqli -> đóng ();?>
?>


Nhìn vào ví dụ về phong cách thủ tục ở phía dưới.


Định nghĩa và cách sử dụng

Hàm lỗi / mysqli_error () 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ó.


Mysqli_connect_error () là gì?

Định nghĩa và sử dụng hàm Connect_error / mysqli_connect_error () trả về mô tả lỗi từ lỗi kết nối cuối cùng, nếu có.

Làm cách nào để tìm lỗi truy vấn mysqli?

Chỉ cần thêm hoặc chết (mysqli_error ($ db)); Khi kết thúc truy vấn của bạn, điều này sẽ in lỗi MySQLI.

Loại trả lại của mysqli_query là gì?Trả về các giá trị ¶ Đối với các truy vấn thành công tạo ra một tập kết quả, chẳng hạn như chọn, hiển thị, mô tả hoặc giải thích, mysqli_query () sẽ trả về đối tượng mysqli_result. Đối với các truy vấn thành công khác, mysqli_query () sẽ trả về đúng.
❮ Php mysqli tham khảoVí 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ó:

Giá trị trở lại: if ($ mysqli -> connect_errno) {& nbsp; Echo "Không thể kết nối với MySQL:". $ mysqli -> Connect_error; & nbsp; lối ra(); }
// thực hiện truy vấn, kiểm tra lỗi (! $ Mysqli -> truy vấn ("chèn vào giá trị của người (firstName) ('glenn')")) {& nbsp; echo ("Mô tả lỗi:". $ mysqli -> lỗi); } $ mysqli -> đóng ();?>

Nhìn vào ví dụ về phong cách thủ tục ở phía dưới.

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ó:

$con=mysqli_connect("localhost","my_user","my_password","my_db");

if ($ mysqli -> connect_errno) {& nbsp; Echo "Không thể kết nối với MySQL:". $ mysqli -> Connect_error; & nbsp; lối ra(); }
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  exit();
}

// thực hiện truy vấn, kiểm tra lỗi (! $ Mysqli -> truy vấn ("chèn vào giá trị của người (firstName) ('glenn')")) {& nbsp; echo ("Mô tả lỗi:". $ mysqli -> lỗi); }
if (!mysqli_query($con,"INSERT INTO Persons (FirstName) VALUES ('Glenn')")) {
  echo("Error description: " . mysqli_error($con));
}

mysqli_close ($ con); ?>
?>



❮ Php mysqli tham khảo


Xem thêm:

Này, tôi đang cố gắng chèn một cái gì đó bên trong db của mình nhưng nó không hoạt động, tôi gặp lỗi mà nói rằng

Error: INSERT INTO broodjes (broodnaam, prijs, voorraad) VALUES (?, ?, ?)
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 '?, ?, ?)' at line 1

Tôi đang làm gì sai ???

Đây là hình thức của tôi

<pre>php include "navbar.php";?>
<link href="https://cdn.jsdelivr.net/npm//dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<style>
    .intro {
  height: 100%;
}

.gradient-custom {
  
  background: #fa709a;

  
  background: -webkit-linear-gradient(to bottom right, rgba(250, 112, 154, 1), rgba(254, 225, 64, 1));

  
  background: linear-gradient(to bottom right, rgba(250, 112, 154, 1), rgba(254, 225, 64, 1))
}
style>
<section class="intro">
  <div class="mask d-flex align-items-center h-100 gradient-custom">
    <div class="container">
      <div class="row justify-content-center">
        <div class="col-12 col-lg-9 col-xl-7">
          <div class="card">
            <div class="card-body p-4 p-md-5">
              <h3 class="mb-4 pb-2">Nieuwe broodjes toevoegen</h3>

              <form action="insertproduct.php" method="post">