Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос: есть или нет данные? вопрос новичка 
:(
    Опции темы
Gold Dragon
  Дата 8.12.2004, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Есть данные, которые получаю из формы.

Делаю запрос, если данных ещё нет, то вставляю. Но что то не получается smile

Вот запросы, что нитак?
Цитата
SELECT * FROM TABLE1 WHERE 'nik1' = 'q1' AND `www` = 'q2'

INSERT INTO TABLE1 VALUES ('','q1','q2')

первое поле у меня автоматическое, которое надо будет вставлять в другую таблицу


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 8.12.2004, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Покажи, как ты сравнение делаешь на есть/нет.
PM ICQ   Вверх
Gold Dragon
Дата 9.12.2004, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Вот что-то такое.. smile
Код

$r = mysql_query("SELECT * FROM $TABLE1 WHERE 'nik1' = '$a' AND `www` = '$b'");
if (mysql_num_rows($r)==0){
mysql_query("INSERT INTO $TABLE1 VALUES ('','$a','$b')");
echo "no";
}else{echo "yes";}



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 9.12.2004, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Код

<?php

$r = mysql_query("SELECT `*` FROM `" . $TABLE1 . "` WHERE 'nik1' = '" . $a . "' AND `www` = '" . $b . "'");

print mysql_error();

if( mysql_num_rows( $r ) == 0 )
{
 mysql_query("INSERT INTO `" . $TABLE1 . "` VALUES ('','".$a."','".$b."')");
 print mysql_error();
 echo "no";
}
else
{  echo "yes";  }

?>

Попробуй так.
Либо выведет ошибки, либо у тебя записи такие находятся...
PM ICQ   Вверх
Gold Dragon
Дата 9.12.2004, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



smile

Постоянно выдаёт, что такой записи нет и при этом постоянно её заносит базу


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 9.12.2004, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Red Dragon
равно на LIKE замени.
PM ICQ   Вверх
Gold Dragon
Дата 9.12.2004, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Всё отлично вставляется, но не находится smile не хочет и всё smile

Ведь наверняка ошибка в какой-то мелочи


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 9.12.2004, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Код

$r = mysql_query("SELECT `*` FROM `" . $TABLE1 . "` WHERE 'nik1' LIKE '" . addslashes( $a ) . "' AND `www` LIKE '" . addslashes( $b ) . "'");


PM ICQ   Вверх
Gold Dragon
Дата 9.12.2004, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Ничего не получается... Вот архив, может что подскажете


Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  1.ZIP


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 9.12.2004, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Отправлять форму надо через POST.
Потом выведи перед SELECT запросом $a и $b... Скорее всего они не доходят.
PM ICQ   Вверх
Mal Hack
Дата 9.12.2004, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Ошибка была тут: WHERE `nik1` LIKE (у тебя были не `. а ' символы)...
Вот код файла (код конечно левый, но до правильного сам дойдешь в процессе обучения):
Код

<?php
include('up.php');
include('conf.php');
global $SERVER, $USER, $DB, $PASSW, $TABLE1;
mysql_connect($SERVER, $USER, $PASSW) or die("Ошибка соединения");
mysql_select_db($DB);

//вывод формы добавления данных
if (isset($_GET['tmp'])) // was:  if ($_GET['tmp'])
{
$mes_err=( $_GET['tmp'] == "0" )? "" : $_GET['mes_err'];
$a= ( $_GET['tmp'] == "0" )? "" : $_GET['a'];
$b=( $_GET['tmp'] == "0" )? "" : $_GET['b'];
$c=( $_GET['tmp'] == "0" )? "" : $_GET['c'];
$d=( $_GET['tmp'] == "0" )? "" : $_GET['d'];
$e=( $_GET['tmp'] == "0" )? "" : $_GET['e'];

echo $mes_err."
<form action=form_add.php method=post>
Ник друга:<br><input type=text name=name1 value=\"$a\"><br>
Где живёт:<br>http:// <input type=text name=adres1 value=\"$b\"><br>
Послание:<br><textarea cols=40 rows=10 name=mes>$c</textarea><br>
Свой Ник:<br><input type=text name=name2 value=\"$d\"><br>
Где живёшь:<br><input type=text name=adres2 value=\"$e\"><br>
<input type=reset value=Очистить>
<input type=submit name=form_add value=Отправить>
</form>";

}
//Проверка и занесение данных в базу
if (isset($_POST['form_add']))
{
$mes_err="";
$a=trim($_POST['name1']);
$b=trim($_POST['adres1']);
$c=trim($_POST['mes']);
$d=trim($_POST['name2']);
$e=trim($_POST['adres2']);


if ($a==""){$mes_err.="Не указан Ник друга!<br>";$a='';}
if ($b==""){$mes_err.="Не указан Адрес друга!<br>";$b='';}
if (gethostbyname($b)==$b){$mes_err .= "Некорректный адрес вашего друга!<br>";$b='';}
if (strlen($c)<10){$mes_err.="Ваше сообщение слишком маленькое!<br>";$c='';}
if ($d==""){$mes_err.="Не указан Ваш Ник!<br>";$d='';}
if ($e==""){$mes_err.="Не указан Ваш Адрес!<br>";$e='';}
if (gethostbyname($e)==$e){ $mes_err .= "Некорректный Ваш адрес!<br>";$e='';}

if (!empty($mes_err)){print $mes_err="Ошибка<br>".$mes_err;
}else{

     $r = mysql_query("SELECT `*` FROM `" . $TABLE1 . "` WHERE `nik1` LIKE '" . $a . "' AND `www` LIKE '" . $b . "'");
     //$r = mysql_query("SELECT `*` FROM `" . $TABLE1 . "` WHERE 'nik1' = '" . $a . "' AND `www` = '" . $b . "'");
     print mysql_error();
     if( mysql_num_rows($r) == 0 )
     {
     mysql_query("INSERT INTO `" . $TABLE1 . "` VALUES ('','".$a."','".$b."')");
     print mysql_error();
     echo "no";
     }else {echo "yes";}
     /*
     $r = mysql_query("SELECT * FROM $TABLE1 WHERE 'nik1' = '$a' AND `www` = '$b'");
     if (mysql_num_rows($r)==0){
        mysql_query("INSERT INTO $TABLE1 VALUES ('','$a','$b')");
        echo "no";
     }else{echo "yes";}
     */
}
echo "<br><a href='form_add.php?tmp=1&mes_err=$mes_err&a=$a&b=$b&c=$c&d=$d&e=$e'>назад</a>";
}
include('down.php');
?>

index.php
Код

<html>

<head>
 <title></title>
</head>

<body>

<a href="form_add.php?tmp=0">форма добавления</a><br>

</body>

</html>

PM ICQ   Вверх
Gold Dragon
Дата 10.12.2004, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Во! Отлично всё заработало! Большое спасибо!


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0509 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.