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

PHP không chèn nội dung vào cơ sở dữ liệu mySQL:Văn bản, Hình ảnh, Bất kỳ thứ gì

Mã của bạn không thành công vì hai lý do.

  • Câu lệnh điều kiện của bạn đang tìm kiếm một phần tử được đặt tên là "submit"
  • Bạn đang cố gắng thực thi trước câu lệnh. Đặt truy vấn của bạn (mysqli_query() ) " bên dưới "các giá trị và thực hiện mysqli_query($dbCon, $userREQ3) or die(mysqli_error($dbCon));

Ghi chú bên lề:Thay đổi if ($_POST['submit']) { thành if (isset($_POST['submit'])) { nó tốt hơn.

<input type="submit" value="Write Post"/>
đến <input type="submit" name="submit" value="Write Post"/>

Chèn SQL:

Mã hiện tại của bạn được mở cho Chèn SQL . Sử dụng mysqli với các tuyên bố được chuẩn bị sẵn hoặc PDO với các báo cáo đã chuẩn bị sẵn .

Ngoài ra, bạn có các biến trong phần nội dung mã của mình, biến này có thể ném biến x không xác định khi tải trang đầu tiên.

Như đã nêu (trong nhận xét bên dưới):Đảm bảo rằng bạn đã kết nối với cơ sở dữ liệu của mình và sử dụng phương thức mysqli chứ không phải API khác.

Các API MySQL khác nhau không trộn lẫn với nhau. Sử dụng cùng một API MySQL từ kết nối đến truy vấn.

Thêm báo cáo lỗi lên đầu (các) tệp của bạn, điều này sẽ giúp tìm ra lỗi.

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

Chú thích bên lề: Báo cáo lỗi chỉ nên được thực hiện theo giai đoạn và không bao giờ được thực hiện trong quá trình sản xuất.

Truy vấn thành công hay không:

Để xem truy vấn thực sự thành công hay không thành công, hãy kiểm tra lỗi và sử dụng affected_rows .

Tài liệu tham khảo:

Nếu bạn đang cố gắng sử dụng hình ảnh, thì bạn phải có một enctype hợp lệ để đưa vào các thẻ biểu mẫu.

Tùy thuộc vào cách / những gì bạn muốn chèn cho hình ảnh, hơn thế có thể là một yếu tố.

Nếu bạn muốn chèn hình ảnh dưới dạng đường dẫn là một chuyện, nhưng sử dụng nó "làm hình ảnh", hãy nói BLOB thì điều đó có giới hạn về kích thước; sử dụng LONGBLOB và bạn phải thoát khỏi dữ liệu đó trước khi vào cơ sở dữ liệu.

Tham khảo ý kiến:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL GROUP &COUNT Nhiều bảng

  2. Tôi có cần sử dụng mysql_close (kết nối) không?

  3. Thứ tự truy vấn MySQL theo giá trị trong cột JSON

  4. Không thể kết nối với máy chủ MySQL cục bộ thông qua socket '/tmp/mysql.sock

  5. LỖI 1064 (42000) trong MySQL