У меня есть инструкция MySQL в PHP, чтобы переместить одну строку в другую таблицу, но она продолжает отображать:
* У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с "1" в строке 1 *
Вот мой код:
$sql = mysqli_query($conn,"
INSERT INTO userdocs
SELECT transaction_no
, document_type
, date_received
, application_no
, hei
, school_name
, from_co
, other_govt
, contact_person
, comment
, program
, year_level
, academic_year
FROM records
WHERE transaction_no = '$transaction_no'
");
if(!mysqli_query($conn, $sql))
{
echo (mysqli_error($conn));
}
else
{
echo "Document Sent! Going back to Home Page...";
header("refresh:3; url=director.php");
}
Вероятно, включение $transaction_no
приводит к неверному выражению. Попробуйте проверить инструкцию SQL. Как правило, при работе с динамическими параметрами следует использовать подготовленные инструкции:
$stmt = $db->prepare('insert into userdocs select transaction_no, document_type, date_received, application_no, hei, school_name, from_co, other_govt, contact_person, comment, program, year_level, academic_year from records where transaction_no = ?');
$stmt->bind_param('s', $transaction_no);
$result = $stmt->execute();
Или используйте PDO.
mysqli
( new mysqli(...)
или как вы создаете свое соединение).