Показать полную графическую версию : [решено] Загрузка файла с записью url в таблицу базы mysql
Требуется загрузка файла на вэб сервер с выводом пути к файлу, да так что бы он прописал его в ячейку таблицы. Я сделал таким образом:
require_once "bdconnect.php"; $files_dir = 'files/'; if(isset($_FILES["file"])) { if( is_uploaded_file( $_FILES["file"]["tmp_name"] ) ) { move_uploaded_file( $_FILES["file"]["tmp_name"], $files_dir.$_FILES["file"]["name"] ); // Тут выводим ссылку $file = $files_dir.$_FILES["file"]["name"]; } } $sSQL=mysql_query("INSERT INTO `dogovor` (`id`, `file`) VALUES (NULL, $file)"); $result=mysql_query($sSQL, $link); echo "$file";
Но он кроме как загружать файл дальше не идёт! Т.е. в таблицу значение $file не записывает! Может подскажите где сабка зарыта!?
Оформите код, уточните переносы строк.
require_once "bdconnect.php";
$files_dir = 'files/';
if(isset($_FILES["file"]))
{ if( is_uploaded_file( $_FILES["file"]["tmp_name"] ) )
{ move_uploaded_file( $_FILES["file"]["tmp_name"], $files_dir.$_FILES["file"]["name"] );
// Тут выводим ссылку
$file = $files_dir.$_FILES["file"]["name"];
}
}
$sSQL=mysql_query("INSERT INTO `dogovor` (`id`, `file`) VALUES (NULL, $file)");
$result=mysql_query($sSQL, $link);
echo "$file";
не ужели ни кто подобное не делал?
$sSQL=mysql_query("INSERT INTO `dogovor` (`id`, `file`) VALUES (NULL, $file)");
$result=mysql_query($sSQL, $link); »
Определитесь, в какой строке используете mysql_query. И в запросе $file без кавычек + нужно экранирование. RTM.
$sSQL = "INSERT INTO `dogovor` (`id`, `file`) VALUES (NULL, '". mysql_real_escape_string($file)."')";
$result = mysql_query($sSQL, $link);
спасибо за совет но не помогло!
сделайте в конце
echo mysql_error();
и ловите текст ошибки.
Оооооооочень странно, решил поэкспериментировать и написал так:
require_once "bdconnect.php";
mysql_query("SET NAMES cp1251");
if (isset($_REQUEST['id'])) { $id = $_REQUEST['id'];}
$files_dir = 'files/';
if(isset($_FILES["file"]))
{
if( is_uploaded_file( $_FILES["file"]["tmp_name"] ) )
{
move_uploaded_file( $_FILES["file"]["tmp_name"], $files_dir.$_FILES["file"]["name"] );
// Тут выводим ссылку
$url = $files_dir.$_FILES["file"]["name"];
}
}
$sSQL=mysql_query("INSERT INTO `dogovor` (`id`, `file`) VALUES (NULL, '$url')");
$result=mysql_query($sSQL);
В результате записалась одна запись!
почему NULL не прошел?
сделайте в конце
PHP код:
echo mysql_error();
и ловите текст ошибки. »
Выдал "Query was empty"
Написал таким образам:
$sSQL="INSERT INTO `dogovor` (`id`, `file`) VALUES (NULL, '$url')";
$result=mysql_query($sSQL);
echo mysql_error();
Выдало сообщение: "Column 'id' cannot be null"
Всё разобрался Всем спасибо оказалось я забыл в поле id таблицы автоинкремент!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.