[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопросы по MySql
copchic
Я заношу данные в таблицу MySql.

Файл index.php

<form action="reg.php" method="post">
<
div align="center">
<
input type="text" name="reg" value="" maxlength="13">
<
br>
<
br>
<
input name="submit" type=submit class="style4" value="РЕГИСТРАЦИЯ">
</
div>
</
form>

Файл reg.php

<?php
$db=mysql_connect(HostName,UserName,Password) or die("no connect");
mysql_select_db(DBName,$db) or die("no select");
$quer = "INSERT INTO `wmr` SET `wm` = '$reg'";
$resultat = mysql_query($quer) or die(mysql_error() ."<br/>". $quer);
mysql_close($db);
?>

Подскажите пожайлуста как сделать что бы не вводились второй раз одинаковые данные.



Спустя 8 минут, 40 секунд (23.03.2010 - 14:25) Семён написал(а):
Перед INSERT сделать SELECT на предмет данных.
Например регистрация по email.
Делаешь SELECT если кол-во значений больше 0 => нельзя делать INSERT => выводим ошибку

Спустя 2 минуты, 21 секунда (23.03.2010 - 14:27) copchic написал(а):
А как конкретно если мне нужно проверить девятизначный номер?

Спустя 4 минуты, 10 секунд (23.03.2010 - 14:31) Gabriel написал(а):
copchic
$chek_num = mysql_query("SELECT что-то FROM таблица WHERE поле с номером = 'полученый 9ти значный номер'");
if ( mysql_num_rows( $chek_num ) > 0 ) выводим ошибку;
else идем делать наши дела дальше.

ну наверное где-то так.

Спустя 3 минуты, 59 секунд (23.03.2010 - 14:35) copchic написал(а):
Спасибочки сейчас разберусь

Спустя 13 минут, 6 секунд (23.03.2010 - 14:48) waldicom написал(а):
выставить уникальный индекс

Спустя 3 минуты, 10 секунд (23.03.2010 - 14:52) copchic написал(а):
<?php
$db=mysql_connect(HostName,UserName,Password) or die("no connect");
mysql_select_db(DBName,$db) or die("no select");
$chek_num = mysql_query("SELECT `wm` FROM `wmr` WHERE'$reg'");
if ( mysql_num_rows( $chek_num ) > 1 ) {
echo "Такой № уже есть!";
}
else
$quer = "INSERT INTO `wmr` SET `wm` = '$reg'";
$resultat = mysql_query($quer) or die(mysql_error() ."<br/>". $quer);
mysql_close($db);
?>


Правильно?

Спустя 8 минут, 28 секунд (23.03.2010 - 15:00) copchic написал(а):
Чего-то не арбайтен Где-то ошибка

Спустя 1 минута, 8 секунд (23.03.2010 - 15:01) copchic написал(а):
Вводит № повторно

Спустя 34 минуты, 23 секунды (23.03.2010 - 15:36) DeeKeiD написал(а):

<form action="register.php" method="POST">
<input
type="text" name="number">
</form>



$number = $_POST['number'];
$check1 = mysql_num_rows(mysql_query("SELECT * FROM `mydb` WHERE `nomer` = '". mysql_real_escape_string($number) ."'")") or die(mysql_error());
if(
$check1 > 1)
{
echo 'Ошибка номер '.
$number .' уже существует';
}
else
{
// запись в базу
}


Спустя 25 минут, 7 секунд (23.03.2010 - 16:01) Gabriel написал(а):
Цитата (copchic @ 23.03.2010 - 12:00)
Чего-то не арбайтен Где-то ошибка

$chek_num = mysql_query("SELECT `wm` FROM `wmr` WHERE'$reg'");

внимательно посмотри на запрос.
ЗЫ. а разве после else кавычки открыть, закрыть ненужно?

Спустя 7 минут, 40 секунд (23.03.2010 - 16:08) copchic написал(а):
Чё-то намудрил

Спустя 57 секунд (23.03.2010 - 16:09) copchic написал(а):
Кавычки нужны

Спустя 29 минут, 2 секунды (23.03.2010 - 16:38) copchic написал(а):
Запрос неправильный, а как правильно?

Спустя 44 минуты, 38 секунд (23.03.2010 - 17:23) copchic написал(а):
Вот поправил но всё равно второй раз пишет данные в базу
<?php
$db=mysql_connect(HostName,UserName,Password) or die("no connect");
mysql_select_db(DBName,$db) or die("no select");
$chek_num = mysql_query("SELECT `wm` FROM `wmr` WHERE `id`='$reg'");
if ( mysql_num_rows( $chek_num ) > 0 ) {
echo 'Ошибка номер '. $reg .' уже существует';;
}
else
{
$quer = "INSERT INTO `wmr` SET `wm` = '$reg'";
$resultat = mysql_query($quer) or die(mysql_error() ."<br/>". $quer);
mysql_close($db);
}
?>


посмотрите что не так

Спустя 7 минут, 28 секунд (23.03.2010 - 17:30) DeeKeiD написал(а):
mysql_connect(HostName,UserName,Password) or die('CANNOT CONNECT');
mysql_select_db(DBName) or die('CANNOT SELECT DB');
# Номер кошелька из формы
$number = $_POST['reg'];
# Запрос на существование номера кошелька в базе
$check1 = mysql_num_rows(mysql_query("SELECT `wm` FROM `wmr` WHERE `wm` = '". mysql_real_escape_string($number) ."'"));
# Если результатов больше 1го выводим ошибку
if($check1 > 1)
{
echo 'Ошибка номер <b>'. $number .'</b> уже существует';
}
# Если результатов меньше одного записываем в базу
else
{
mysql_query("INSERT INTO `wmr` (wm) VALUES ('". mysql_real_escape_string($number) ."')") or die('CANNOT INSERT INTO DB');
}

Спустя 1 минута, 10 секунд (23.03.2010 - 17:32) Gabriel написал(а):
copchic
а ид должно быть равно значению приходящему из формы?
DeeKeiD
зы. если номер целый то тут нужен intval.

Спустя 28 минут, 20 секунд (23.03.2010 - 18:00) copchic написал(а):
Спасибо всем всё работает вот код может кому пригодится

<?php
$db=mysql_connect(HostName,UserName,Password) or die("no connect");
mysql_select_db(DBName,$db) or die("no select");
$check1 = mysql_num_rows(mysql_query("SELECT `wm` FROM `wmr` WHERE `wm` = '". mysql_real_escape_string($reg) ."'"));
if($check1 > 0)
{
echo 'Ошибка номер <b>'. $reg .'</b> уже существует';
}
else
{
$quer = "INSERT INTO `wmr` SET `wm` = '$reg'";
$resultat = mysql_query($quer) or die(mysql_error() ."<br/>". $quer);
mysql_close($db);
?>

Спустя 31 минута, 34 секунды (23.03.2010 - 18:32) copchic написал(а):
Ещё один вопрос
Как вывести последнее значение поля id?

Спустя 12 минут, 35 секунд (23.03.2010 - 18:44) koala написал(а):

$res = mysql_query ("SELECT * FROM site WHERE 'id' DESC");


Как то так =)

Спустя 9 минут, 2 секунды (23.03.2010 - 18:53) copchic написал(а):
Щас попробую

Спустя 5 минут, 33 секунды (23.03.2010 - 18:59) copchic написал(а):
Не работает что-то не так

Спустя 12 минут, 55 секунд (23.03.2010 - 19:12) koala написал(а):
$total_base_number = mysql_query("SELECT id FROM site",$db) or die ("Error");
$result=mysql_fetch_row($total_base_number);
echo 'В базе: '. $result[0].".";


Я так выводил последний id. Подставишь свои переменные.


Спустя 14 минут, 34 секунды (23.03.2010 - 19:26) Gabriel написал(а):
copchic
$res = mysql_query ("SELECT id FROM table ORDER BY DESC");

лимит добавь и будеш получать последний ид из базы

Спустя 19 минут, 12 секунд (23.03.2010 - 19:45) SipFer написал(а):
если $reg - строка, то ее нужно за экранировать. (mysql_escape_string). тебе выше написали

Спустя 2 минуты, 33 секунды (23.03.2010 - 19:48) copchic написал(а):
Все понятно спасибо


_____________
Я знаю, что ничего не знаю...
Быстрый ответ:

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