#php #mysql
#php #mysql
Вопрос:
я написал php скрипт для вставки содержимого текстового файла в базу данных mysql и содержимого моего файла a.txt является
n используется для новой строки
я хочу, чтобы оно было загружено в базу данных, включая специальный символ n
как есть… Но он загружается только «используется для новой строки«, пожалуйста, помогите мне … спасибо
<?php
$filename = "a.txt";
$f = fopen($filename, 'r');
$total_contents = fread($f, filesize($filename));
print $total_contents;
mysql_connect("localhost", "datab_user", "password") or die(mysql_error());
mysql_select_db("datab_name") or die(mysql_error());
mysql_query("INSERT INTO table_name
(id,content) VALUES( 333,'$total_contents' ) ")
or die(mysql_error());
?>
Комментарии:
1. разве вы не можете использовать load data infile — dev.mysql.com/doc/refman/5.1/en/load-data.html ??
Ответ №1:
Если вы хотите, чтобы n отображался внутри базы данных как есть (т. е. как , за которым следует n, а не как новая строка), то вам нужно экранировать его, поэтому вы должны отправить \n используется для новой строки в базу данных.
Кстати, вы также можете использовать file_get_contents, если вы просто хотите прочитать полное содержимое файла в виде строки.
Ответ №2:
Вы должны экранировать его. Если вам нужен перевод строки в Mysql, отправьте n на сервер, если вам нужен n, отправьте \n
Ответ №3:
Попробуйте взглянуть на руководство по PHP для mysql_real_escape_string, чтобы избежать ввода в базу данных mysql.