Я использую «стандартные» запросы mysqli, но решил использовать подготовленные операторы для большей безопасности. Все работает отлично, за исключением того, что новые строки удаляются, когда данные добавляются в базу данных. Вот пример некоторого запроса:mysqli подготовленные операторы удаляют новые строки
$stmt=mysqli_prepare($GLOBALS["mysqli"], "UPDATE products SET product_description=? WHERE product_id=?");
if ($stmt)
{
mysqli_stmt_bind_param($stmt, "si", $product_description, $product_id);
mysqli_stmt_execute($stmt);
mysqli_stmt_close($stmt);
}
$ PRODUCT_DESCRIPTION является переменным из текстового поля (представленного через форму POST), и у него есть новые линии. При добавлении данных в базу данных, он выглядит следующим образом:
FIRSTLINE \ г \ nSECONDLINE
Я знаю, что нет ничего плохого в том виде или сам код, потому что если я использую этот запрос:
mysqli_query($GLOBALS['mysqli'], "UPDATE products SET product_description='$product_description' WHERE product_id='$product_id');
Все отлично работает, данные в базе данных выглядит следующим образом:
first_line
SECOND_LINE
Любые предложения?
Как выглядят ваши данные, когда вы храните их в базе данных с помощью 'подготовленных'? – uruloke
что-то еще вызывает это, и вы не показываете нам, часть, где вы назначаете переменную массиву POST и как именно она вводится в базе данных –