Войти

Показать полную графическую версию : [решено] MySQL и Windows 7 Максимальная. INSERT INTO не работает


dizent
20-05-2011, 22:27
И так если взять любой локальный хост, и попытаться выполнить запрос через любой скрипт то INSERT INTO не проходит....
-------------------------------------
И так у меня локальник Open Server(был и денвер) не отправляет запросы через бд(хотя в phpmyadmin всё работает)
INSERT INTO не проходят не в одном скрипте, а так же cms
-------------------------------------
К примеру
mysql_query("INSERT INTO `users` SET `login` = '". input($reg_login) ."', `nick` = '". input($reg_nick) ."', `password` = '". input($reg_password) ."', `date_reg` = '". time() ."', `date_last_entry` = '". time() ."'");
не проходит, хотя на хосте всё прекрасно проходит
Если включить отображение ошибок, то я получаю:
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 ''1305487018'')' at line 1
---------------------------------------
Итог на хосте работает, на локальнике нет - почему?
Тест был на: open server, top server, denwer, хабр(или как то так), какой то английский локальник, и ещё 3 штуки найдены через форумы и google
P.S.: Когда нажимаеш клавишу отпраки запроса, пишет что всё добавлено, но на деле нет запроса в бд или тупо обновляется страница
P.Ss: На windows xp, windows 7 home premium работало всё(а именно денвер и Open Server), может это глюк в Windows 7 Максимальная? Может заплатка есть?
--------------------------------------
Windows 7 Максимальная
Apache 2.2.17
PHP 5.3.5(5.2.17)
MySQL 5.5.9(5.1.56)

Sham
21-05-2011, 03:09
Раз ошибка синтаксиса, то копайте туда. Выведите запрос с ошибкой полностью, чтобы понять ошибку (обычно причина - неэкранированные запрещенные символы в запросе). Скорее всего причина в PHP (мб несоответствие кодировок вводимым строкам, неправильная обработка строк, или разные настройки magic_quotes и т.д.).

dizent
21-05-2011, 09:17
Хз...
1. скрипт работает идеально на хосте
2. данный локальник был у меня давно и на предыдущих ос - работало
3. я показал всю ошибку что выдаёт....

Sham
21-05-2011, 16:32
вытащить запрос можно так
$q = 'SELECT запрос'; // который в mysql_query

$array = mysql_query($q);

if(mysql_error()) file_put_contents('_error.log', mysql_error() . "\n\n" . $q);

из _error.log

dizent
21-05-2011, 22:16
SELECT у меня работает
INSERT только спит

допустим я выполнил запрос, вот что дало...:
Field 'email' doesn't have a default value

INSERT INTO `users` SET `login` = '11111', `nick` = '1111', `password` = '1111', `date_reg` = '1111', `date_last_entry` = '1111'
Жалуется на email, но мне не надо что бы туда что либо записывало....
Если надо...
Таблица:
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`login` varchar(32) NOT NULL,
`nick` varchar(64) NOT NULL,
`password` varchar(64) NOT NULL,
`date_reg` int(11) NOT NULL,
`date_last_entry` int(11) NOT NULL,
`level` int(11) NOT NULL DEFAULT '1',
`email` varchar(72) NOT NULL,
`user_name` varchar(256) NOT NULL,
`user_surname` varchar(256) NOT NULL,
`user_info` text NOT NULL,
`user_icq` varchar(256) NOT NULL,
`user_site` varchar(256) NOT NULL,
`pol` int(11) NOT NULL DEFAULT '0',
`bd_year` int(11) DEFAULT NULL,
`bd_month` int(11) DEFAULT NULL,
`bd_day` int(11) DEFAULT NULL,
`rating` int(11) NOT NULL,
`ank_view` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
PHP файл:
http://up2file.ru/file24
Думаю не страшно, что обменник wap т.к. на wap у меня специализация)

Sham
22-05-2011, 00:06
Добавьте для полей varchar без DEFAULT значение по умолчанию DEFAULT ''. Или в сам запрос добавьте пустые строки ''.

мб нюансы (http://dev.mysql.com/doc/refman/5.5/en/data-type-defaults.html) с sql mode (http://dev.mysql.com/doc/refman/5.6/en/server-sql-mode.html) (сравните конфиги mysql).

dizent
22-05-2011, 09:16
Или в сам запрос добавьте пустые строки »
легче на seven home premium перейти
Добавьте для полей varchar без DEFAULT значение по умолчанию DEFAULT »
Не особо понят это где....
мб нюансы с sql mode (сравните конфиги mysql). »
Да, вроде всё нормально... Кстате писал же:
И так если взять любой локальный хост, и попытаться выполнить запрос через любой скрипт то INSERT INTO не проходит.... »
т.е. прям у всех конфиг mysql не для меня)))

dizent
22-05-2011, 21:14
Проблема исправлена переездом назад на Windows 7 Home Premium




© OSzone.net 2001-2012