2013-08-13 2 views
0

Я пытаюсь загрузить имя файла, выбранное в форме с помощью кнопки «Просмотр» на предыдущей странице. Код, чтобы сделать это:Загрузка имени файла в базу данных mysql

$filename = $_FILES['userfile']['name']; // Get the name of the file (including file extension). 

//inserting data order 
$clip = "INSERT INTO musicdb 
      (clipID, clipName, genre) 
      VALUES 
      ('','$filename','$name1')"; 

Это прекрасно работает при попытке загрузить файл без каких-либо апострофов в, однако при попытке загрузить файл с апострофом например «день рождения друзей» тогда он не загрузить к таблице mysql. Я думаю, что это связано с использованием «и» взаимозаменяемо в инструкции INSERT. Я не знаю, какие скобки $filename = $_FILES['userfile']['name'] использует по умолчанию, является ли его «или».

Заранее спасибо

+0

Извлеките полученный запрос '$ clip', и вы увидите проблему. Котировки (апострофы) должны быть экранированы. – RandomSeed

ответ

0

вам нужно, чтобы избежать ваших строк.

$filename = mysqli_real_escape_string($con, $filename); 
+0

Это приводит к тому, что $ filename пуст? – FootsieNG

0

для котировок использовать это, например

addslashes($str); 
+0

, когда вы добавляете косые черты, у вас также будут полосы слэш. если я правильно помню. – DevZer0

+0

именно вам нужно, когда вы хотите отобразить $ str, чтобы использовать его – Momo1987

+0

Спасибо, отлично работает с этим – FootsieNG

0

Первый Заменить апострофа с другим персонажем (который не используется в обычно) От запрашиваемого файла Имя. Затем введите в таблицу MySQL.

Смежные вопросы