Giá trị trả về Mysqli_query INSERT
Không cần phải nói rằng bạn phải sử dụng các câu lệnh đã chuẩn bị cho bất kỳ truy vấn SQL nào có chứa biến PHP. Do đó, thông thường truy vấn INSERT sẽ không có ý nghĩa gì nếu không có biến, nó phải luôn chạy qua một câu lệnh đã chuẩn bị sẵn. Làm như vậy Show
Chỉ cần đảm bảo rằng bạn đã có một biến kết nối mysqli được cấu hình phù hợp, cần thiết để chạy các truy vấn SQL và để thông báo cho bạn về các lỗi có thể xảy ra Chạy truy vấn INSERT với Mysqli thôChỉ cần viết một mã như trong ví dụ này
và thực hiện truy vấn của bạn mà không có một lỗi cú pháp hoặc SQL injection nào Giải trìnhChuyện gì đang xảy ra ở đây?
Giống như đã nói ở trên, đầu tiên chúng ta viết một truy vấn SQL trong đó tất cả các biến được thay thế bằng các dấu chấm hỏi
Sau đó, truy vấn được chuẩn bị. Ý tưởng rất thông minh. Để tránh ngay cả khả năng tiêm SQL hoặc lỗi cú pháp do dữ liệu đầu vào gây ra, truy vấn và dữ liệu được gửi đến máy chủ cơ sở dữ liệu một cách riêng biệt. Vì vậy, nó tiếp tục ở đây. với
Sau đó, các biến phải được liên kết với câu lệnh. Cuộc gọi bao gồm hai phần - chuỗi với các loại và danh sách các biến. Với mysqli, bạn phải chỉ định loại cho từng biến bị ràng buộc. Nó được biểu thị bằng một chữ cái trong tham số đầu tiên. Số lượng chữ cái phải luôn bằng số lượng biến. Các loại có thể là
Vì vậy, bây giờ bạn có thể biết rằng "sss" có nghĩa là "sẽ có 3 biến, tất cả đều thuộc loại chuỗi". Và rồi tự nhiên ba biến ngoan ngoãn làm theo
Sau đó, truy vấn cuối cùng được thực hiện. Có nghĩa là các biến được gửi đến máy chủ cơ sở dữ liệu và truy vấn thực sự được thực thi
CHÈN truy vấn với chức năng trợ giúpNhư bạn có thể lưu ý, mã này khá dài dòng. Nếu bạn muốn xây dựng một mã giống như hình Lego, với hàng ngũ người vận hành sáng chói, bạn có thể giữ nguyên mã đó. Nếu bạn, giống như tôi, ghét sự lặp lại vô ích và thích viết mã ngắn gọn và có ý nghĩa, thì có một hàm trợ giúp đơn giản. Với nó, mã sẽ trở nên ngắn hơn hai lần
Ở đây chúng tôi đang gọi hàm trợ giúp bằng cách sử dụng biến kết nối, truy vấn sql và một mảng có biến. Đơn giản, sạch sẽ và an toàn CHÈN truy vấn từ một mảngĐiều thường xảy ra là chúng ta có một mảng bao gồm các trường và giá trị của chúng đại diện cho một hàng được chèn vào cơ sở dữ liệu. Và đương nhiên, sẽ là một ý kiến hay nếu có một hàm chuyển đổi một mảng như vậy thành một câu lệnh SQL INSERT đúng và thực thi nó. Vậy là xong (sử dụng chức năng trợ giúp đã đề cập ở trên nhưng bạn có thể dễ dàng viết lại thành mysqli thô nếu muốn) Trước hết, chức năng này sẽ cần một chức năng trợ giúp của riêng nó. Chúng tôi sẽ cần một chức năng để thoát khỏi định danh MySQL. Có, tất cả các mã định danh phải được trích dẫn và thoát, theo tiêu chuẩn của MySQL, để tránh các vấn đề cú pháp khác nhau
Và bây giờ cuối cùng chúng ta cũng có thể có một hàm chấp nhận tên bảng và một mảng có dữ liệu và chạy truy vấn INSERT đã chuẩn bị đối với cơ sở dữ liệu mysqli_query() dùng để làm gì?Định nghĩa và cách sử dụng
. performs a query against a database.
mysqli_result trả về cái gì?Lớp mysqli_result ¶
. the result set obtained from a query against the database.
mysqli_query trả về cái gì nếu trống?Đối với các truy vấn thành công khác, mysqli_query() sẽ trả về TRUE. Số 0 là kết quả của một hàng . Cảm ơn bạn đã trả lời.
Mysqli_num_rows trả về cái gì?Hàm mysqli_num_rows() trả về số hàng trong tập hợp kết quả . |