-
Вебмастеру
(
http://forum.oszone.net/forumdisplay.php?f=22)
Загрузка файла с записью url в таблицу базы mysql
Требуется загрузка файла на вэб сервер с выводом пути к файлу, да так что бы он прописал его в ячейку таблицы. Я сделал таким образом:
PHP код:
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 не записывает! Может подскажите где сабка зарыта!?
|
Оформите код, уточните переносы строк.
|
PHP код:
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";
|
не ужели ни кто подобное не делал?
|
Цитата:
Цитата cibin
$sSQL=mysql_query("INSERT INTO `dogovor` (`id`, `file`) VALUES (NULL, $file)");
$result=mysql_query($sSQL, $link); »
|
Определитесь, в какой строке используете mysql_query. И в запросе $file без кавычек + нужно экранирование. RTM.
PHP код:
$sSQL = "INSERT INTO `dogovor` (`id`, `file`) VALUES (NULL, '". mysql_real_escape_string($file)."')"; $result = mysql_query($sSQL, $link);
|
спасибо за совет но не помогло!
|
сделайте в конце
и ловите текст ошибки.
|
Оооооооочень странно, решил поэкспериментировать и написал так:
PHP код:
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 не прошел?
Цитата:
Цитата Sham
сделайте в конце
PHP код:
echo mysql_error();
и ловите текст ошибки. »
|
Выдал "Query was empty"
Написал таким образам:
PHP код:
$sSQL="INSERT INTO `dogovor` (`id`, `file`) VALUES (NULL, '$url')"; $result=mysql_query($sSQL); echo mysql_error();
Выдало сообщение: "Column 'id' cannot be null"
|
Всё разобрался Всем спасибо оказалось я забыл в поле id таблицы автоинкремент!
|
Время: 02:10.
© OSzone.net 2001-