Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MYSQL không thêm thông tin vào cơ sở dữ liệu của tôi

bạn có cú pháp chèn không hợp lệ, đây là cú pháp hợp lệ

INSERT INTO customers (field1, field2) VALUES (val1, val2);

XEM TÀI LIỆU

Ngoài ra, bạn có lỗ hổng tiêm sql nghiêm trọng .. bạn nên xem TẠI ĐÂY để được trợ giúp về điều đó

Tôi khuyên bạn nên sử dụng truy vấn được tham số hóa và câu lệnh chuẩn bị sẵn ... this SO ĐĂNG bao phủ nó một cách độc đáo

CHỈNH SỬA:

vì vậy tôi không chỉ cung cấp một liên kết mà câu trả lời duy nhất ở đây là mẫu về những gì bạn nên làm

$mysqli = new mysqli("server", "username", "password", "database_name");

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
$qry = $mysqli->prepare('INSERT INTO customers (name, phone, type, section, email, address, business, service, notes) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)');
$qry->bind_param('s', $name, $phone_num, $sec_num, $email, $cus_type, $business, $address, $service, $notes);

// can do it in one statement rather than multiples..
//$qry->bind_param('s', $name);
//$qry->bind_param('s', $phone_num);
//$qry->bind_param('s', $sec_num);
//$qry->bind_param('s', $email);
//$qry->bind_param('s', $cus_type);
//$qry->bind_param('s', $business);
//$qry->bind_param('s', $address);
//$qry->bind_param('s', $service);
//$qry->bind_param('s', $notes);

$qry->execute();
$qry->close();

EDIT2:

bạn phải là người mới lập trình .. câu lệnh if () của bạn LUÔN LUÔN được thực thi ... nghĩa là bạn sẽ luôn chèn vào cơ sở dữ liệu .. đây là lý do tại sao ..

if ($cus_type = $_POST['Corporate']){ ở đây $ cus_type bằng với một cái gì đó khác còn gọi là $_POST['cusType'] nhưng trong câu lệnh if bạn đang gán nó cho $ _POST ['Corporate'] ... sẽ luôn thực thi vì nó là câu lệnh true..đây là cách nếu các câu lệnh được thực thi một cách hợp lý ..

if(boolean statement){
    //executes when true
};

if(true){
    //always executes
};

if('a' == 'b'){
    //will not execute
};

$a = 'a';
$b = 'b';
if($a == $b){
    //will not execute
};

if($a = $b){
    //will always execute because its assigning the value which is a boolean true statement.
};


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lệnh hiển thị ràng buộc trên bảng

  2. Làm cách nào để bạn làm mới tệp cấu hình MySQL mà không cần khởi động lại?

  3. Sử dụng GROUP_CONCAT trên truy vấn con trong MySQL

  4. Bao gồm các kết quả rỗng trong group_concat

  5. Nhóm MySQL theo ngày và chuyển đổi từ dấu thời gian unix