Вы не зашли.
#1.
TLENS
Off
(14)
Moderator
2011.01.22 16:04
Вот проблемка такая.
База выделуется конкретно.
На бесплатном хосте все работает на платном нифига
Код:
lt;? $sql = mysql_query('SELECT * FROM dir WHERE key=`dir`;'); echo mysql_num_rows($sql); echo mysql_error(); mysql_close(); |
Почему нет ответа.
А также код
Код:
lt;?$q=mysql_query("INSERT INTO apm (id, fio, log, pass, level, tranzit) VALUES ('{$id}','{$fio}','{$log}','{$pass}','{$level}','{$tranzite}');"); |
Не работает,
Надо указывать
Код:
lt;?$q=mysql_query("INSERT INTO apm VALUES ('{$id}','{$fio}','{$log}','{$pass}','{$level}','{$tranzite}');"); |
В чем может быть проблема?
Да и еще одно на соседнем скрипре точно такие работают
Что я не правильно делаю?
1) SELECT * FROM dir WHERE key =
"dir
";
2) скорее всего ошибка в запросе (некорректно отфильтрованы переменные)
#3.
TLENS
Off
(14)
Moderator
2011.01.22 17:05
Щас попробую
Добавлено спустя 9 минут 19 секунд: Ничего не пойму и класы по mysql тоже не берут
Вот что получаю
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 'key = "dir"' at line 1
Код:
lt;? $sql = mysql_query('SELECT * FROM dir WHERE key = "dir";'); echo mysql_num_rows($sql).mysql_error(); mysql_close();//При этом?>SELECT * FROM dir;возращает 2 Но почему ведь все вроде верноСтруктураCREATE TABLE IF NOT EXISTS `dir` ( `id` int(11) unsigned NOT NULL auto_increment, `name` varchar(20) collate utf8_unicode_ci NOT NULL, `key` varchar(20) collate utf8_unicode_ci NOT NULL, `sub` varchar(20) collate utf8_unicode_ci NOT NULL default '', PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;И содержимоеINSERT INTO `dir` (`id`, `name`, `key`, `sub`) VALUES(1, 'dir', 'dir', ''),(2, '111', '111', ''); |
Отредактировано TLENS (2011.01.22 17:05)
попробуй key обернуть апострофами. т.е. `key`
#5.
TLENS
Off
(14)
Moderator
2011.01.22 18:06
О сработало. Что за синтаксис такой?
Код:
SELECT * FROM dir WHERE `key`="dir"; |
И как вот это дальше писать. Пипец.
Отредактировано TLENS (2011.01.22 18:06)
#6.
Nu3oN
Off
(11)
Moderator
2011.01.22 18:06
ну вообще желатель брать в апострафы названия таблиц и названия полей! изначально так научился, и делаю это постоянно!
Я буду лучше голоден, но между креслом и рулем и на дороге.
TLENS, вообще это основы синтаксиса. и возмущаться тут надо собственному незнанию, а не синтаксису SQL
#8.
TLENS
Off
(14)
Moderator
2011.01.22 19:07
О заработало и
Код:
lt;?$q=mysql_query('INSERT INTO `dir` (`name`, `key`, `sub`, `time`) VALUES ("'.$_POST['name'].'","'.$_POST['key'].'","'.$_POST['sub'].'","'.SITETIME.'");'); |
Спасибо
Отредактировано TLENS (2011.01.22 19:07)
#9.
Nu3oN
Off
(11)
Moderator
2011.01.22 20:08
кстати интересно что лучше использовать
INSERT INTO `table` (...) VALUES(...)
или
INSERT INTO `table` SET `pole` = 'value'...
Я буду лучше голоден, но между креслом и рулем и на дороге.
SET по моему только начиная с mysql5 чтоли.. а на счет производительности уверен что разницы нет.