Vì vậy, tôi chỉ học về cơ sở dữ liệu và tôi muốn để có thể lưu trữ đầu vào của người dùng. Ai đó có thể cho tôi một ví dụ cơ bản về cách lấy dữ liệu biểu mẫu và lưu nó vào cơ sở dữ liệu bằng php? Cũng làm cho hình thức an toàn khỏi sự tấn công sqllàm thế nào để chèn vào mysql bằng cách sử dụng tuyên bố chuẩn bị với php
22
A
Trả lời
22
sample.html
<form action="sample.php" method="POST">
<input name="sample" type="text">
<input name="submit" type="submit" value="Submit">
</form>
sample.php
<?php
if (isset($_POST['submit'])) {
$mysqli = new mysqli('localhost', 'user', 'password', 'mysampledb');
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$stmt = $mysqli->prepare("INSERT INTO SampleTable VALUES (?)");
$stmt->bind_param('s', $sample); // bind $sample to the parameter
$sample = isset($_POST['sample'])
? $_POST['sample']
: '';
/* execute prepared statement */
$stmt->execute();
printf("%d Row inserted.\n", $stmt->affected_rows);
/* close statement and connection */
$stmt->close();
/* close connection */
$mysqli->close();
}
?>
Đây là một ví dụ rất cơ bản. Nhiều nhà phát triển PHP hiện nay đang chuyển sang PDO. Mysqli isn ’ t lỗi thời, nhưng PDO là nhiều dễ dàng hơn, IMHO.
+5
'real_escape_string()' là thừa. Toàn bộ điểm sử dụng các câu lệnh chuẩn bị là tránh phải thoát khỏi các giá trị theo cách thủ công. –
Các vấn đề liên quan
- 1. Sử dụng các biến php bên tuyên bố chèn MySQL
- 2. PHP MySQLi multi_query chuẩn bị tuyên bố
- 3. Java enum để mysql enum trong tuyên bố chuẩn bị
- 4. php mysql bind-param, làm thế nào để chuẩn bị tuyên bố cho truy vấn cập nhật
- 5. Tuyên bố chuẩn bị PDO, được sử dụng chính xác?
- 6. Làm thế nào tôi có thể xem một Bản Tuyên Bố PDO SQL chuẩn bị
- 7. Chuẩn bị một tuyên bố/UPDATE MySQL INSERT với giá trị DEFAULT
- 8. Cập nhật MySQL bằng PDO và tuyên bố chuẩn bị không hoạt động
- 9. Làm thế nào hiệu quả là executeBatch trên một tuyên bố chuẩn bị?
- 10. LIMIT từ khóa trên MySQL với tuyên bố đã chuẩn bị
- 11. chèn một chuỗi để một tuyên bố chuẩn bị mà không cần ''
- 12. Tuyên bố chèn Mysqli
- 13. Tuyên bố so với tuyên bố đã chuẩn bị về mặt biên dịch
- 14. Cách chuẩn bị trang web php/mysql
- 15. Sử dụng tuyên bố chuẩn bị theo cách an toàn nhất
- 16. Có thể sử dụng mysqli_fetch_object với tuyên bố đã chuẩn bị
- 17. Sử dụng Tuyên bố đã Chuẩn bị nhiều lần hiệu quả
- 18. JPA (Hibernate) Native Query cho tuyên bố chuẩn bị CHẬM
- 19. Tuyên bố ternary PHP sử dụng 'và'
- 20. Làm thế nào để sử dụng MySQL chuẩn bị báo cáo bộ nhớ đệm?
- 21. mysql IF Tuyên bố khác
- 22. Làm cách nào để đặt các boolean vào cơ sở dữ liệu mysql với các câu lệnh đã chuẩn bị?
- 23. Tương đương với mysql_insert_id(); bằng cách sử dụng câu lệnh đã chuẩn bị?
- 24. Tuyên bố được chuẩn bị trong ASP.Net C# khi sử dụng SQL Server
- 25. chèn mảng php vào mysql
- 26. mysql CHỌN NẾU tuyên bố với OR
- 27. Sử dụng một biến thay vì một chỉ số tham số với một JDBC chuẩn bị tuyên bố
- 28. Làm thế nào để bao gồm Tuyên bố với XElement.ToString()
- 29. Làm thế nào để tránh "Security - Một tuyên bố chuẩn bị được tạo ra từ một String nonconstant" FindBugs Warning
- 30. Đầu vào chuẩn PHP?
Kiểm tra PDO: http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html. 1 cho muốn tìm hiểu để làm điều đó đúng. :) – Herbert
Cũng trong hướng dẫn sử dụng php http://php.net/manual/en/pdo.prepared-statements.php –