[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: где ошибка?
Xakep
есть такой запрос:


mysql_connect($_POST['db_host'],$_POST['db_user'],"") or die (mysql_error());
mysql_query("CREATE DATABASE `".$_POST['db_name']."`") or die (mysql_error());
mysql_select_db("".$_POST['db_name']."") or die (mysql_error());
$sql = "CREATE TABLE `users` (`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` TEXT NOT NULL,
`login` TEXT NOT NULL,
`paswd` TEXT NOT NULL,
`paswd_hash` TEXT NOT NULL,
`date_reg` TEXT NOT NULL,
`ip` TEXT NOT NULL,
`city` TEXT NOT NULL,
`klan_name` TEXT NOT NULL,
`klan_rank` TEXT NOT NULL,
`inbox_message` TEXT NOT NULL,
`outbox_message` TEXT NOT NULL,
`rank` TEXT NOT NULL,
`group` TEXT NOT NULL,
`states` TEXT NOT NULL,
`coments` TEXT NOT NULL,
`avka` TEXT NOT NULL,
`date_age` TEXT NOT NULL,
`activation_code` TEXT NOT NULL,
`activate` TEXT NOT NULL,
`email` TEXT NOT NULL) ENGINE = MyISAM;"
;
mysql_query($sql) or die (mysql_error());
$sql_2 = "INSERT INTO `users` (`name`,`login`,`paswd`,`paswd_hash`,`date_reg`,`ip`,`city`,`klan_name`,`klan_rank`,`inbox_message`,
`outbox_message`,`rank`,`group`,`states`,`coments`,`avka`,`date_age`,`activation_code`,`activate`,`em ail`)
VALUES (
`"
.$_POST['adm_name']."`,
`"
.$_POST['adm_login']."`,
`"
.$_POST['adm_paswd']."`,
`"
.$paswd_hash."`,
`"
.$date_rus."`,
`"
.$ip."`,
`0`,
`0`,
`0`,
`0`,
`0`,
`0`,
`3`,
`0`,
`0`,
`0`,
`0`,
`0`,
`1`,
`"
.$_POST['adm_email']."`)";
mysql_query($sql_2) or die (mysql_error());


и выводит такую ошибку:

Unknown column 'Артем' in 'field list'


че это такое?



Спустя 21 минута, 17 секунд (1.10.2012 - 23:12) Placido написал(а):
Проблема, скорее всего, в обратных апострофах в VALUES(). Нужно где-то так (целочисленные значения можно апострофами не обрамлять):
...VALUES (
'".$_POST['adm_name']."',
'".$_POST['adm_login']."',
'".$_POST['adm_paswd']."',
'".$paswd_hash."',
'".$date_rus."',
'".$ip."',
'0',
'0',
'0',
'0',
'0',
'0',
'3',
'0',
'0',
'0',
'0',
'0',
'1',
'".$_POST['adm_email']."')";

Спустя 7 минут, 43 секунды (1.10.2012 - 23:20) inpost написал(а):
`em ail` - прям так с пробелом?

Спустя 9 минут, 45 секунд (1.10.2012 - 23:29) Xakep написал(а):
Цитата (inpost @ 1.10.2012 - 23:20)
`em ail` - прям так с пробелом?

это похоже тут форум сделал искажение при копирования кода, а у меня все слитно написано

Спустя 1 минута, 3 секунды (1.10.2012 - 23:30) Xakep написал(а):
Цитата (Placido @ 1.10.2012 - 23:12)
Проблема, скорее всего, в обратных апострофах в VALUES(). Нужно где-то так (целочисленные значения можно апострофами не обрамлять):
...VALUES (
'".$_POST['adm_name']."',
'".$_POST['adm_login']."',
'".$_POST['adm_paswd']."',
'".$paswd_hash."',
'".$date_rus."',
'".$ip."',
'0',
'0',
'0',
'0',
'0',
'0',
'3',
'0',
'0',
'0',
'0',
'0',
'1',
'".$_POST['adm_email']."')";

Спасибо, помогло smile.gif

Спустя 11 часов, 43 минуты, 38 секунд (2.10.2012 - 11:14) Michael написал(а):
Что ж ты за Xakep такой, такого не понимать blink.gif , столбик от строки не отличать laugh.gif .
И да, Xakep, тебя же взломают с такого качества кодом. Он не безопасен (нужна mysql_real_escape_string).

Спустя 1 час, 55 минут, 26 секунд (2.10.2012 - 13:10) Skadmit написал(а):
И куда более удобнее использовать запрос на добавление такого вида:

$query = "
INSERT INTO `table_name` SET
`field_1` = '"
.mysql_real_escape_string($string_value)."',
`field_2` = "
.(int)$int_value;
mysql_query($query) or die(mysql_error());
Быстрый ответ:

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