Вот он:
mysql_query("
INSERT INTO ausers SET (email=$_POST[email],login=$_POST[login],password=$_POST[password])")
or die('Ошибка добавления записи в базу данных: '.mysql_error());
Пишет:
Ошибка добавления записи в базу данных: 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 '(email=dsd@sds,login=sd,password=d)' at line 1
------------------------------------
И вот еще:
так работает:
$login = mysql_real_escape_string($_POST[login]);
$email = mysql_real_escape_string($_POST[email]);
$result = mysql_query("SELECT COUNT(*)
FROM ausers
where
(login=$login) or
(email=$email");
а так нет: (Ошибка в последней строке Parse error: syntax error, unexpected ';' in D:\Program Files\Apache Group\htdocs\register.php on line 52)
$result =mysql_query("
SELECT COUNT(*)
FROM `ausers`
where
(login=`".mysql_real_escape_string($_POST[login])."`) or
(email=`".mysql_real_escape_string($_POST[email])."`)";
Почему?
Спасибо за ответы
Спустя 4 часа, 5 минут, 56 секунд (2.07.2007 - 23:42) md5 написал(а):
Цитата
mysql_query("
INSERT INTO ausers SET (email=$_POST[email],login=$_POST[login],password=$_POST[password])")
or die('Ошибка добавления записи в базу данных: '.mysql_error());
INSERT INTO ausers SET (email=$_POST[email],login=$_POST[login],password=$_POST[password])")
or die('Ошибка добавления записи в базу данных: '.mysql_error());
синтаксис ИНСЕРТА ищите в гугле
в кратце —
Код
INSERT
INTO `table`
(`field1`, `field2`)
VALUES ('value1', 'value2')
INTO `table`
(`field1`, `field2`)
VALUES ('value1', 'value2')
в твоем случае это:
Код
INSERT
INTO `table`
(`email`, `login`, `password`)
VALUES ('$_POST['email']', '$_POST['login']', '$_POST['password']')
INTO `table`
(`email`, `login`, `password`)
VALUES ('$_POST['email']', '$_POST['login']', '$_POST['password']')
к этому обязательно прочти вот здесь — http://phpfaq.ru/slashes
А SET относится к UPDATE запросам
по второй части — не забывай про кавычки и апострафы
$_POST[email] => $_POST['email'] (это к сведению)
Цитата
login=`".mysql_real_escape_string($_POST[login])."`
объясняю популярно: в апострафы или обратные кавычки (`) мы заключаем имена таблиц и полей, значения мы должны заключать в обычные кавычки (')в твоем случае:
Код
`login`='".mysql_real_escape_string($_POST[login])."'
Спустя 12 часов, 59 минут, 16 секунд (3.07.2007 - 12:42) CyBerSt0rm написал(а):
Спасибо, помогло.
mysql_query("
INSERT INTO
`ausers`
(`email`,`login`,`password`)
VALUES
('$email','$login','$password')")
or die('Ошибка добавления записи в базу данных!');
Работает
mysql_query("
INSERT INTO
`ausers`
(`email`,`login`,`password`)
VALUES
('$email','$login','$password')")
or die('Ошибка добавления записи в базу данных!');
Работает
Спустя 12 минут, 35 секунд (3.07.2007 - 12:54) md5 написал(а):
тока лучше ставить:
больше инфы будет в случае ошибки
Код
or die(mysql_error());
больше инфы будет в случае ошибки
![wink.gif](html/emoticons/wink.gif)