Весь день мучался с проблемой отправки значений в SQL запросе
HTML:
</tbody>
</table>
<br>
<form action="reg_success.php" method="post" name="reg_success" >
Логин :
<br>
<input name="login" type="text" value="" maxlength="20" size="17" />
<br>
Пароль :
</br>
<input name="pass" type="password" value="" maxlength="20" size="17"/>
<br>
<input class="text" type="checkbox" name="autologin"/>
Помнить меня
</br>
<br>
<input type="submit" name="reg_but" value="Войти" />
</form>
</br>
</div>
PHP:
<?php
function complete(){
mysql_connect("localhost","root","") or die("Could not connect to MySQL server!");
mysql_select_db("nogoalz") or die("Could not select company database!");
$query = ("INSERT INTO user (User, Password)
VALUES ('".$_POST['login']."', '".$_POST['pass']."')") ;
mysql_query ($query) or die(mysql_error());
echo '<h3>Данные обновлены</h3>';
var_dump($_POST);
} ;
if(isset($_POST['reg_but'])) {
complete();
}
?>
Подскажите , пожалуйста, что не так делаю?
Спустя 2 минуты, 48 секунд (4.12.2011 - 00:42) m4a1fox написал(а):
http://phpforum.ru/journal.php?user=24565
Спустя 23 минуты, 3 секунды (4.12.2011 - 01:05) Lzk написал(а):
Цитата (m4a1fox @ 3.12.2011 - 21:42) |
http://phpforum.ru/journal.php?user=24565 |
к чему этот пост ? дело не в этом
Спустя 7 минут, 36 секунд (4.12.2011 - 01:13) TranceIT написал(а):
$query = ("INSERT INTO user (User, Password)
VALUES ('".$_POST['login']."', '".$_POST['pass']."')";
} ;
Без точки с запятой!
Спустя 10 минут, 15 секунд (4.12.2011 - 01:23) Lzk написал(а):
Цитата (TranceIT @ 3.12.2011 - 22:13) |
$query = ("INSERT INTO user (User, Password) } ; Без точки с запятой! |
Ошибку выдает сразу что ; не хватает
Ребята , данные не записываются в таблицу , ничего не пишет , не могу понять , в чем проблема
Спустя 2 минуты, 37 секунд (4.12.2011 - 01:26) imbalance_hero написал(а):
mysql_query("запрос") or die(mysql_error());
Спустя 2 минуты, 55 секунд (4.12.2011 - 01:29) TranceIT написал(а):
Цитата (Lzk @ 3.12.2011 - 22:23) |
Ошибку выдает сразу что ; не хватает |
Да? Ну ладно... Пускай так будет. И плевать что такой синтаксис неверный...
А может пишет что вот тут как раз он не ожидал точки с запятой, потому что не понятно зачем вы обернули присвоение в скобки?
$query = ("INSERT INTO user (User, Password)
VALUES ('".$_POST['login']."', '".$_POST['pass']."')") ;
Спустя 5 минут, 16 секунд (4.12.2011 - 01:34) Lzk написал(а):
Цитата (imbalance_hero @ 3.12.2011 - 22:26) |
mysql_query("запрос") or die(mysql_error()); |
я его в константе $query передаю
Спустя 31 минута, 35 секунд (4.12.2011 - 02:05) Lzk написал(а):
Цитата (TranceIT @ 3.12.2011 - 22:29) | ||
Да? Ну ладно... Пускай так будет. И плевать что такой синтаксис неверный... А может пишет что вот тут как раз он не ожидал точки с запятой, потому что не понятно зачем вы обернули присвоение в скобки?
|
ну обработает он все вместо одинарных в двойных скобках, не понимаю , где здесь проблема?
Спустя 1 час, 11 минут, 51 секунда (4.12.2011 - 03:17) Renden написал(а):
Lzk
User и Password -это зарезервированные команды mysql, поэтому скорее всего запрос и не выполняется тк он не может понять что вы от него хотите попробуйте выполнить запрос используя кавычки тоесть:
думаю в таком случае у вас все получится,
ЗЫ при заносе данных в БД используйте mysql_real_escape_string(), а то получиться SQL иньекция..
User и Password -это зарезервированные команды mysql, поэтому скорее всего запрос и не выполняется тк он не может понять что вы от него хотите попробуйте выполнить запрос используя кавычки тоесть:
$query = ("INSERT INTO `user` ('User', 'Password')
VALUES ('".$_POST['login']."', '".$_POST['pass']."')") ;
думаю в таком случае у вас все получится,
ЗЫ при заносе данных в БД используйте mysql_real_escape_string(), а то получиться SQL иньекция..
Спустя 6 часов, 31 минута (4.12.2011 - 09:48) sergeiss написал(а):
Цитата (Renden @ 4.12.2011 - 04:17) |
$query = ("INSERT INTO `user` ('User', 'Password') VALUES ('".$_POST['login']."', '".$_POST['pass']."')") ; |
Рассуждения верные насчет зарезервированных слов, только надо не простые кавычки там, а "обратные": ` (находится на той же клавише, где и русская буква Ё). То есть, это та же кавычке, что и вокруг имени таблицы поставлена в этом же запросе.
Спустя 1 час, 41 минута, 8 секунд (4.12.2011 - 11:29) Lzk написал(а):
Renden , sergeiss спасибо , запрос подправил , проверил - выполняется , НО
функция нажатия на кнопку похоже не выполняется , создал запрос с фиксированными значениями , запись в БД не появилась (
<?php
function complete(){
mysql_connect("localhost","root","") or die("Could not connect to MySQL server!");
mysql_select_db("nogoalz") or die("Could not select company database!");
$query = "INSERT INTO `user` (`User`, `Password`)
VALUES ('".$_POST['login']."', '".$_POST['pass']."')" ;
$query1 = "INSERT INTO `user` (`User`, `Password`)
VALUES ('wdfefwefwewf', '1234567')" ;
mysql_query ($query1) or die(mysql_error());
echo '<h3>Данные обновлены</h3>';
var_dump($_POST);
} ;
if(isset($_POST['reg_but'])) {
$user_name = !empty($_POST['login']) ? htmlspecialchars($_POST['login']) : NULL;
$user_pass = !empty($_POST['pass']) ? htmlspecialchars($_POST['pass']) : NULL;
if($user_name === NULL || $user_pass === NULL){
echo 'Вы не ввели <font color="red"><b>имя/пароль</b></font>';
}else{
echo '<b>Ваше имя:</b> ' . $user_name;
echo '<br />';
echo '<b>Ваш пароль: </b>' . $user_pass;
}
complete();
}
?>
функция нажатия на кнопку похоже не выполняется , создал запрос с фиксированными значениями , запись в БД не появилась (