Điều tôi cố gắng thực hiện là lặp qua đầu vào văn bản nơi người dùng nhập thẻ cho bài đăng trên blog. Tôi muốn thêm từng thẻ vào cơ sở dữ liệu nếu nó chưa tồn tại.
Chuỗi truy vấn thực tế bên dưới hoạt động khi tôi kiểm tra trong cơ sở dữ liệu.
Tuy nhiên tôi nghĩ rằng cú pháp vòng lặp của tôi có thể không hoàn toàn đúng cos Tôi không nhận được gì thêm vào DB.
Có ai có thể phát hiện lỗi trong vòng lặp của tôi khiến việc 'thêm vào cơ sở dữ liệu' của tôi không thành công?
Cảm ơn trước sự giúp đỡ của bạn!
foreach ($_POST['__tags'] as $key=>$ls_value) {
$value = strtolower(mysql_real_escape_string($ls_value));
mysql_query("INSERT INTO `table` (`field`)
SELECT * FROM (SELECT '$value') as tmp
WHERE NOT EXISTS (
SELECT `field` FROM `table` WHERE `field` = '$value')
LIMIT 1") or trigger_error(mysql_error(), E_USER_ERROR);
}
Những gì hiện vang vọng hoặc sử dụng print_r trên $ _POST ['__ thẻ'] trở lại? Nó có trả lại bất cứ thứ gì để bắt đầu không? –
Mã của bạn dễ bị chèn ép sql. Ngoài ra các hàm mysql_ * cũng không còn được sử dụng nữa và sẽ không còn được sử dụng nếu có thể. http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php – Cfreak