[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Добавление в базу
OVSite
Здравствуйте!
function generateCode($length=6) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHI JKLMNOPRQSTUVWXYZ0123456789";
$code = "";
$clen = strlen($chars) - 1;
while (strlen($code) < $length) {
$code .= $chars[mt_rand(0,$clen)];
}
return $code;
}
$connection=mysql_connect("localhost", "root", "*******") or die(mysql_error());
$my_db=mysql_select_db("*******", $connection) or die(mysql_error());
$uploaddir = './download/';
$uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);
if (copy($_FILES['uploadfile']['tmp_name'], $uploadfile)) {
$Size=$_FILES['uploadfile']['size'];
$Name = $_FILES['uploadfile']['name'];
$Code = generateCode(10);
rename($uploadfile, "./download/".$Code);
$Rename = $Code;
$query="INSERT INTO File (Size, Name, Rename) VALUES ('$Size', '$Name', '$Rename')";
$result=mysql_query($query);
if($result==false) die(mysql_error());
echo "Данные формы занесены в БД";
echo "<h3>Файл успешно загружен на сервер</h3>";
}
else { echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>"; exit; }
echo "<h3>Информация о загруженном на сервер файле: </h3>";
echo "<p><b>Оригинальное имя загруженного файла: ".$_FILES['uploadfile']['name']."</b></p>";
echo "<p><b>Mime-тип загруженного файла: ".$_FILES['uploadfile']['type']."</b></p>";
echo "<p><b>Размер загруженного файла в байтах: ".$_FILES['uploadfile']['size']."</b></p>";
echo "<p><b>Временное имя файла: ".$_FILES['uploadfile']['tmp_name']."</b></p>";

?>

Загружаю файл на сервер, переименовываю его, и пытаюсь сохранить в базу размер файла, имя файла и новое имя файла. Выдаёт ошибку:
Цитата
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Rename) VALUES ('10826', 'ВНИМАНИЕ.docx', 'quaRscFLXR')' at line 1

Что я делаю не правильно?



Спустя 20 минут, 4 секунды (15.05.2011 - 10:10) Админ написал(а):

$query="INSERT INTO `File` (`Size`, `Name`, `Rename`) VALUES ('$Size', '$Name', '$Rename')";
mysql_query($query);

или может в таблице ещё поля есть вот и ругается

Спустя 10 минут, 52 секунды (15.05.2011 - 10:21) OVSite написал(а):
Вот что теперь выдаёт:
Цитата
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''File' ('Size', 'Name', 'Rename') VALUES ('2774', 'regis.sql', 'JXx7LEa7P3')' at line 1

Спустя 5 минут, 32 секунды (15.05.2011 - 10:26) Админ написал(а):
так а таблица `File` из скольки полей состоит ?

Спустя 4 минуты, 56 секунд (15.05.2011 - 10:31) OVSite написал(а):
Из 4, ID, Size, Name, Rename.

Спустя 11 минут, 54 секунды (15.05.2011 - 10:43) Админ написал(а):
Ты б лучше структуру БД показал. Т.к. запрос на 100% корректный значит косяк где-то в базе

Спустя 2 минуты, 55 секунд (15.05.2011 - 10:46) OVSite написал(а):
Вложил скрин.

Спустя 6 минут, 11 секунд (15.05.2011 - 10:52) Админ написал(а):
Поехали сначала - такой запрос работает ?

$db_host = 'localhost';
$db_user = 'root';
$db_pass = '';
$db_database = '*******';
$link = mysql_connect($db_host,$db_user,$db_pass) or die('Unable to establish a DB connection');
mysql_query("SET NAMES 'utf8'");
mysql_select_db($db_database,$link) or die('Unable to establish a DB connection');

$query="INSERT INTO `File` (`Size`, `Name`, `Rename`) VALUES ('123', '456', '789')";
mysql_query($query);


и нафига там тип "text" - я б "varchar" сделал

Спустя 4 минуты, 47 секунд (15.05.2011 - 10:57) OVSite написал(а):
Работает

Спустя 21 минута, 33 секунды (15.05.2011 - 11:18) Админ написал(а):
А так. Я просто не вижу тут ошибок.

function generateCode($length=6) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHI JKLMNOPRQSTUVWXYZ0123456789";
$code = "";
$clen = strlen($chars) - 1;
while (strlen($code) < $length) {
$code .= $chars[mt_rand(0,$clen)];
}
return $code;
}
$db_host = 'localhost';
$db_user = 'root';
$db_pass = '';
$db_database = '*******';
$link = mysql_connect($db_host,$db_user,$db_pass) or die('Unable to establish a DB connection');
mysql_query("SET NAMES 'utf8'");
mysql_select_db($db_database,$link) or die('Unable to establish a DB connection');

$uploaddir = './download/';
$uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);
if (copy($_FILES['uploadfile']['tmp_name'], $uploadfile)) {
$Size=$_FILES['uploadfile']['size'];
$Name = $_FILES['uploadfile']['name'];
$Code = generateCode(10);
rename($uploadfile, "./download/".$Code);
$Rename = $Code;

echo $Size.'<br />'.$Name.'<br />'.$Rename;


$query="INSERT INTO `File` (`Size`, `Name`, `Rename`) VALUES ('$Size', '$Name', '$Rename')";
$result=mysql_query($query);
if($result==false) die(mysql_error());
echo "Данные формы занесены в БД";
echo "<h3>Файл успешно загружен на сервер</h3>";
}
else { echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>"; exit; }
echo "<h3>Информация о загруженном на сервер файле: </h3>";
echo "<p><b>Оригинальное имя загруженного файла: ".$_FILES['uploadfile']['name']."</b></p>";
echo "<p><b>Mime-тип загруженного файла: ".$_FILES['uploadfile']['type']."</b></p>";
echo "<p><b>Размер загруженного файла в байтах: ".$_FILES['uploadfile']['size']."</b></p>";
echo "<p><b>Временное имя файла: ".$_FILES['uploadfile']['tmp_name']."</b></p>";

Спустя 4 минуты, 50 секунд (15.05.2011 - 11:23) OVSite написал(а):
Спасибо огромное!!! smile.gif
А в чём была проблема?

Спустя 3 минуты, 16 секунд (15.05.2011 - 11:26) Админ написал(а):
Иди в PhpMyAdmin, смотри "Переменные и настройки сервера", ищи строчку "lower case table names". Выставлена в 1 (по умолчанию) ?
Вообще плохая практика в именах mysql использовать заглавные буквы

Спустя 2 минуты, 3 секунды (15.05.2011 - 11:28) OVSite написал(а):
Нет, выставлено 0.

Спустя 40 секунд (15.05.2011 - 11:29) Админ написал(а):
Цитата
А в чём была проблема?

Кто ж его знает. Наверно где-то апостроф или кавычка неправильная

Спустя 44 минуты, 30 секунд (15.05.2011 - 12:14) Joker написал(а):
А что это за красивый phpMyAdmin???

Спустя 4 минуты, 33 секунды (15.05.2011 - 12:18) OVSite написал(а):
Тема / Стиль: ClearView 3.
Была по умолчанию на NAS сервере в QPKG пакете phpmyadmin. smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.