Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Valeriia
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 9
1

функция mysql_query возвращает один и тот же результат (false) и тогда, когда запрос на удаление выполняется и

24.11.2015, 19:47. Просмотров 730. Ответов 5
Метки нет (Все метки)

Подскажите,пожалуйста,почему функция mysql_query возвращает один и тот же результат (false) и тогда когда запрос на удаление выполняется,и тогда, когда удаления не происходит.

мне нужно,чтобы при удалении записи из таблицы, выводилась фраза о том,что "Автор удален". А если такого автора нет в таблице,то сообщение- "Автор не найден". Подскажите,пожалуйста,что я не так прописываю в условии.
У меня и в случае, когда автора такого нет в таблице,и в случае,когда автор есть и он удаляется из таблицы(то есть удаление происходит), выводится сообщение о том,что автор не найден.

Делала вот таким кодом, но помимо него много чего еще перепробовала,и в любом варианте функция mysql_query возвращает один и тот же результат,хоть запрос выполнился, хоть нет. mysql_affected_rows всегда возвращает ноль,а удаление при этом происходит,то есть запись из таблицы реально удаляется.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$connect=mysql_connect("localhost","root","");
if (!$connect ) die ("Невозможно подключение к MySQL");
$db="biblioteka";
mysql_select_db($db) or die ("Невозможно открыть $db");
$fam=$_POST['famud'];
$im=$_POST['imud'];
$otch=$_POST['otchud'];
if(!empty($fam) and !empty($im) and !empty($otch)){
    $result=mysql_query("delete from avtor1 where fam='".$fam."' and im='".$im."' and otch='".$otch."'");
}
if ($result==false){
echo "Автор не найден";}
else  echo "Автор удален";
$fam='';
$im='';
$otch='';
mysql_close( $connect);
 
?>
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2015, 19:47
Ответы с готовыми решениями:

Функция не возвращает false
Функция не возвращает false ...

Функция mail возвращает False
Доброго времени функция mail не отправляет письма, возвращает false CentOS...

Функция mail() возвращает false
Ребята такой вопрос... Не отправляется сообщение мне на почту через функцию...

Возвращает один и тот же результат. Найти произведение ряда
Нужно подсчитать: \prod_{k=1}^{n} \frac{{(1-x)}^{k+1}+1}{{((k-1)!+1)}^{2}} ...

Условие val>7 выполняется и тогда, когда val<=7 минимум один раз?
Доброго времени суток. Написал программу по вот этой вот теме, на простых...

5
crautcher
2019 / 1991 / 463
Регистрация: 27.05.2011
Сообщений: 6,837
24.11.2015, 20:18 2
INSERT, UPDATE, DELETE, DROP и других, mysql_query() возвращает TRUE в случае успеха и FALSE в случае ошибки.
PHP
1
echo mysql_error();
0
Виталюска
475 / 463 / 229
Регистрация: 26.09.2010
Сообщений: 2,360
24.11.2015, 20:44 3
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    if (isset($_POST['delet'])) {
        $fam=$_POST['famud'];
        $im=$_POST['imud'];
        $otch=$_POST['otchud'];
        
        if (!empty($fam) and !empty($im) and !empty($otch)) {
            $result=mysql_query("delete from avtor1 where fam='".$fam."' and im='".$im."' and otch='".$otch."'") or die (mysql_error());
            
            if (!$result) {
                echo "Автор не найден!";
            }else {
                echo "Автор удалён!";
            }
        }
    }
0
Valeriia
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 9
24.11.2015, 21:34  [ТС] 4
Виталюска, а что это вы добавили?
Цитата Сообщение от Виталюска Посмотреть сообщение
if (isset($_POST['delet']))
Добавлено через 5 минут
crautcher, никакой ошибки не выдает,запрос выполняется, но функция ничего не возвращает,и ошибок никаких не выдает,но при этом запрос на удаление выполняется,то есть удаление происходит
0
Виталюска
475 / 463 / 229
Регистрация: 26.09.2010
Сообщений: 2,360
24.11.2015, 22:00 5
Лучший ответ Сообщение было отмечено Valeriia как решение

Решение

Цитата Сообщение от Valeriia Посмотреть сообщение
а что это вы добавили?
это проверка если была нажата кнопка в моем случае она называется delet
HTML5
1
<input type='submit' name='delet' value='Удалить'>
Valeriia, у Вас есть еще один пост При удалении из таблицы БД условие вывода фразы о том,что такой записи не существует
зачем дублировать темы?
вот решение
PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<form name='delet_avtor' action='' method='POST'>
Фамилия     <input type='text' name='famud'>
Имя         <input type='text' name='imud'>
Отчество    <input type='text' name='otchud'>
<input type='submit' name='delet' value='Удалить'>
</form>
<?php
include ("setup.php"); // подключение к БД
    if (isset($_POST['delet'])) { // если нажали кнопку "Удалить"
        $fam=$_POST['famud'];
        $im=$_POST['imud'];
        $otch=$_POST['otchud'];
        
        if (!empty($fam) and !empty($im) and !empty($otch)) { // если все переменные заполнены
            $rs = mysql_query("SELECT * FROM avtor1 WHERE fam='".$fam."' and im='".$im."' and otch='".$otch."'") or die (mysql_error()); // посик автора в БД
                $row = mysql_num_rows($rs); // количество найденых авторов
                if ($row == 0) { // если не нашли не одного
                    echo "Автора с ФИО: ".$fam." ".$im." ".$otch." в БД нет"; // сообщение что не нашли
                }else { // иначе
                    $result=mysql_query("delete from avtor1 where fam='".$fam."' and im='".$im."' and otch='".$otch."'") or die (mysql_error()); // делаем удаление автора
                    
                    if (!$result) { // если во время удаления будет mysql_error 
                        echo "Произошла ошибка удаления"; // выводим сообщение
                    }else { //иначе
                        echo "Автор с ФИО: ".$fam." ".$im." ".$otch." удалён"; //сообщение что автор удалён
                    }
                }
        }
    }
?>
1
Valeriia
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 9
24.11.2015, 22:11  [ТС] 6
Виталюска,
просто у меня так,как там отвечали, не получилось,а там перестали отвечать, поэтому и пришлось заново писать...

спасибо большое Вам за помощь.
0
24.11.2015, 22:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2015, 22:11

Функция, которая возвращает True только тогда, когда хотя бы два из трех её аргументов равны True
Задание: Функция twoTrue :: Bool -&gt; Bool -&gt; Bool -&gt; Bool, которая возвращает...

Результат выполнения функции mysql_query FALSE, но запись вставляется в таблицу
Добрый день. Столкнулся со странной проблемой. Выполняю: $result6 =...

File.Exists возвращает false, даже когда файл существует
Пишу программу, где в начале должна быть проверка на наличие файла. Код...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru