[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Insert срабатывает дважды
User_Guest
Уважаемые знатоки, прошу вашей помощи.

Вот код:



<?php

if ($var == "") {
echo "text";
}
if ($var == "*") {
echo "text"; }
else if ($var != "")
{

$query = "SELECT * FROM bd WHERE .....";
$data = mysql_query($query) or die(mysql_error());
$anymatches=mysql_num_rows($data);
if ($anymatches != 0) {
echo "text";
while($row = mysql_fetch_array($data))
{
echo "text";
}
}

if ($anymatches == 0) {
$query2 = "SELECT * FROM bd WHERE.....";
$data2 = mysql_query($query2) or die(mysql_error());
$anymatches2=mysql_num_rows($data2);
if ($anymatches2 != 0) {
echo "text"
if ($anymatches == 0)
{

mysql_query("INSERT INTO notfound (notfound) VALUES ('$var')") or die(mysql_error());
} } } ?>



Почему-то последний запрос с INSERT добавляет две одинаковых строки в таблицу. Разве мой скрипт запускает его дважды? Зарание спасибо!



Спустя 9 минут, 46 секунд (12.01.2011 - 12:30) Renden написал(а):
У тебя 2 раза условие срабатывает
if ($anymatches == 0)

Спустя 27 минут, 39 секунд (12.01.2011 - 12:58) ludacris написал(а):
в конце надо чтоб не
if ($anymatches == 0)
{

mysql_query("INSERT INTO notfound (notfound) VALUES ('$var')") or die(mysql_error());
} } } ?>

а

if ($anymatches2 == 0)
{

mysql_query("INSERT INTO notfound (notfound) VALUES ('$var')") or die(mysql_error());
} } } ?>

t.e po nevnimatel'nosti ti provodish proverku po pervoi peremenne "$anymatches" 2 raza.

Спустя 1 час, 17 минут, 32 секунды (12.01.2011 - 14:15) User_Guest написал(а):
Ага, сейчас буду пробывать!

Спасибо большое!

Спустя 1 час, 37 секунд (12.01.2011 - 15:16) User_Guest написал(а):
Сделал вот так:


<?php

if ($var == "") {
echo "text";
}
if ($var == "*") {
echo "text"; }
else if ($var != "")
{

$query = "SELECT * FROM bd WHERE .....";
$data = mysql_query($query) or die(mysql_error());
$anymatches=mysql_num_rows($data);
if ($anymatches != 0) {
echo "text";
while($row = mysql_fetch_array($data))
{
echo "text";
}
}

if ($anymatches == 0) {
$query2 = "SELECT * FROM bd WHERE.....";
$data2 = mysql_query($query2) or die(mysql_error());
$anymatches2=mysql_num_rows($data2);
if ($anymatches2 != 0) {
echo "text"
else
{

mysql_query("INSERT INTO notfound (notfound) VALUES ('$var')") or die(mysql_error());
} } } ?>


Но проблема всё-равно осталась :(

Спустя 2 часа, 24 минуты, 39 секунд (12.01.2011 - 17:41) Guest написал(а):
Товарищи, помогите.... мозк закипел!))

Спустя 2 часа, 9 минут, 54 секунды (12.01.2011 - 19:51) ludacris написал(а):
probui tak:

<?php 

if(!empty($var) && $var != "*")
{
$query = "SELECT * FROM bd WHERE .....";
$data = mysql_query($query) or die(mysql_error());
$anymatches=mysql_num_rows($data);
if ($anymatches != 0)
{
echo "text";
while($row = mysql_fetch_array($data)) echo "text";
}
else if ($anymatches == 0)
{
$query2 = "SELECT * FROM bd WHERE.....";
$data2 = mysql_query($query2) or die(mysql_error());
$anymatches2 = mysql_num_rows($data2);

if($anymatches2 != 0) echo "text";

else if($anymatches2 == 0)
mysql_query("INSERT INTO notfound (notfound) VALUES ('$var')") or die(mysql_error());
}
}

else echo "text";

?>
Быстрый ответ:

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