php скрипт для загрузки содержимого файла в базу данных mysql

#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.