[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отправка значений полей в SQL запросе
Lzk
Здравствуйте !
Весь день мучался с проблемой отправки значений в 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)                 
VALUES ('"
.$_POST['login']."', '".$_POST['pass']."')";


} ;

Без точки с запятой!

Ошибку выдает сразу что ; не хватает
Ребята , данные не записываются в таблицу , ничего не пишет , не могу понять , в чем проблема

Спустя 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)
Цитата (Lzk @ 3.12.2011 - 22:23)
Ошибку выдает сразу что ; не хватает

Да? Ну ладно... Пускай так будет. И плевать что такой синтаксис неверный...

А может пишет что вот тут как раз он не ожидал точки с запятой, потому что не понятно зачем вы обернули присвоение в скобки?

$query = ("INSERT INTO user (User, Password)
VALUES ('"
.$_POST['login']."', '".$_POST['pass']."')") ;

ну обработает он все вместо одинарных в двойных скобках, не понимаю , где здесь проблема?

Спустя 1 час, 11 минут, 51 секунда (4.12.2011 - 03:17) Renden написал(а):
Lzk
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();
}
?>


функция нажатия на кнопку похоже не выполняется , создал запрос с фиксированными значениями , запись в БД не появилась (
Быстрый ответ:

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