2015-01-12 2 views
0

У меня есть массив имен файловINSERT в таблицу на основе массива

$files = array(); 
$dirName = getcwd()."/../"; 
$dir = opendir('../'); // open the cwd..also do an err check. 
while(false != ($file = readdir($dir))) { 
    if(($file != ".") and ($file != "..") and ($file != "index.php")and ($file != "img") and ($file != "__MACOSX")) { 
      $files[] = $file; // put in array. 
    } 
} 

Я хочу, чтобы вставить новую запись в таблицу проектов для каждого файла, например,

foreach($files as $file) { 
    $filename = mysql_real_escape_string($file); 

    $query = "INSERT INTO `projects` (`id`, `name`) VALUES (NULL,$filename)"; 
    $result = mysql_query($query, $connection); 
    echo $result; 
} 

Однако в настоящее время влияние на базу данных.

+1

'$ filename', что, скорее всего, будет строка; цитируйте это. –

+1

Чтобы проверить результат этого действия, вам нужно проверить 'mysql_error ($ connection)'. Как сказал @ Фред-ии, строка $ filename [должна быть одинарной кавычкой] (http://stackoverflow.com/questions/11321491/when-to-use-single-quotes-double-quotes-and- backticks) –

+1

См. также [Почему я не должен использовать 'mysql _ *()' функции] (https://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). Вместо написания нового кода с устаревшим API это прекрасное время для [начать обучение использованию PDO] (http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers), который поддерживает подготовленные заявления (избегая цитирования таких проблем) и улучшая безопасность. –

ответ

2

имя файла является строкой, поэтому оно должно быть закрыто в кавычки и в соответствии с вашим кодом оно открыто, поэтому добавьте цитату вокруг имени файла и не передайте значение NULL для id, если оно является автоматическим полем приращения, чем оно добавит добавочное значение соответственно ,

изменить ваш запрос от

$query = "INSERT INTO `projects` (`id`, `name`) VALUES (NULL,$filename)"; 

в

$query = "INSERT INTO `projects` (`name`) VALUES ('".$filename."')"; 
+0

Лично я хотел бы дать объяснение, почему что-то должно быть сделано определенным образом, в том числе и почему код не работает. –

+0

@ Fred-ii- спасибо за ваше предложение, я обновил свой ответ –

+0

Добро пожаловать Рам, * приветствия * –

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