У меня сложная проблема, которую я не могу понять...
У меня есть два оператора SQL:
- Первый вводит информацию из формы в базу данных.
- Второй получает данные из базы данных, введенной выше, отправляет электронное письмо, а затем регистрирует детали транзакции
Проблема в том, что, похоже, одиночная кавычка вызывает ошибку MySQL только для второй записи! Первый экземпляр работает без проблем, но второй экземпляр вызывает mysql_error()
.
Данные из формы обрабатываются иначе, чем данные, захваченные в форме?
Запрос 1 - Это работает без проблем (и без экранирования одинарной кавычки)
$result = mysql_query("INSERT INTO job_log
(order_id, supplier_id, category_id, service_id, qty_ordered, customer_id, user_id, salesperson_ref, booking_ref, booking_name, address, suburb, postcode, state_id, region_id, email, phone, phone2, mobile, delivery_date, stock_taken, special_instructions, cost_price, cost_price_gst, sell_price, sell_price_gst, ext_sell_price, retail_customer, created, modified, log_status_id)
VALUES
('$order_id', '$supplier_id', '$category_id', '{$value['id']}', '{$value['qty']}', '$customer_id', '$user_id', '$salesperson_ref', '$booking_ref', '$booking_name', '$address', '$suburb', '$postcode', '$state_id', '$region_id', '$email', '$phone', '$phone2', '$mobile', STR_TO_DATE('$delivery_date', '%d/%m/%Y'), '$stock_taken', '$special_instructions', '$cost_price', '$cost_price_gst', '$sell_price', '$sell_price_gst', '$ext_sell_price', '$retail_customer', '".date('Y-m-d H:i:s', time())."', '".date('Y-m-d H:i:s', time())."', '1')");
Запрос 2 - Сбой при вводе имени с одинарной кавычкой (например, О'Брайен)
$query = mysql_query("INSERT INTO message_log
(order_id, timestamp, message_type, email_from, supplier_id, primary_contact, secondary_contact, subject, message_content, status)
VALUES
('$order_id', '".date('Y-m-d H:i:s', time())."', '$email', '$from', '$row->supplier_id', '$row->primary_email' ,'$row->secondary_email', '$subject', '$message_content', '1')");