Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
MySQL

Найти элемент в таблице. Если не найден - выполнить другой код

02.05.2015, 16:13. Показов 2286. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! У меня есть таблица links.
Структура
Code
1
2
3
id - INT(11) - Auto_increment
key - VARCHAR(255)
text - TEXT
И например вот есть такие значения:

Code
1
2
id | key | text
0    1b1    hello
Мне нужно, если в таблице есть поле, где key равняется $received, то вывести его на экран. Если нету, вывести на экран ошибку.

Я набросал:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if($_POST["thekey"] == "") {
        exit("Enter code!");
    } else {
        
    $received = $_POST["thekey"];
        $connection = mysqli_connect('localhost','root','111','mybasa');
 
    mysqli_query($connection,"SET NAMES 'cp1251'");
    mysqli_query($connection,"SET CHARACTER SET 'cp1251'");
    
    $result = mysqli_query($connection,"SELECT id FROM links WHERE key = '$received'");
    if(mysqli_num_rows($result) == 0) {
        die("Not found!");
    } else {
     echo $received;
    }
 
    }
Но мне пишет

Цитата Сообщение от MySQL Error
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, object given in /home/u957092631/public_html/searchlink.php on line 13
Not found!
Хотя в таблцие запись есть.
Что делать и как исправить?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.05.2015, 16:13
Ответы с готовыми решениями:

Как выполнить код если процесс найден (if) или не найден (else)
вот пример! using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using...

Как сделать при поиске в таблице (через AdoQuery) вывод ошибки, если элемент не был найден?
таблица подключена через ADOQuery1, а столбец поиска мы указываем через радиоруп.void __fastcall TForm1::Button4Click(TObject *Sender) {...

Выполнить определённый сценарий, если найден заданный процесс
Здравствуйте. Есть батничек tasklist | Find /i "Process.exe" || (goto Else) т.е. если Process.exe НЕ найден то выполняется goto Else, а...

8
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
02.05.2015, 18:29
PHP
1
2
3
4
5
6
7
$result = mysqli_query($connection,"SELECT id FROM links WHERE key = '".$received."'");
$row = mysqli_fetch_row($result);
    if(!$row) {
        die("Not found!");
    } else {
     echo $received;
    }
0
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
05.05.2015, 15:13  [ТС]
fanatikus, спасибо. Но мне нужно вывести text того поля, в котором key=$received
0
Заблокирован
05.05.2015, 15:46
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
if($_POST["thekey"] == "") {
        exit("Enter code!");
    } else {
        
    $received = $_POST["thekey"];
    $connection = mysqli_connect('localhost','root','111','mybasa');
 
    mysqli_query($connection,"SET NAMES 'cp1251'");
    mysqli_query($connection,"SET CHARACTER SET 'cp1251'");
    
    $result = mysqli_query($connection,"SELECT `id` FROM `links` WHERE `key` = '$received'");
    if($result->num_rows == 0) echo 'Не найден!';
    elseif($result->num_rows > 0){      
        while ($row = $result->fetch_assoc()){
        echo $row['id']."<br>";
        }
    }
    else echo 'Чёт не то с запросом!';
 
    }
0
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
05.05.2015, 16:02  [ТС]
Trukl, пишет Не найден, хотя в таблице запись есть.
0
Заблокирован
05.05.2015, 16:12
PHP
1
if($result->num_rows === 0) echo 'Не найден!';
1
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
05.05.2015, 17:14  [ТС]
Trukl, после исправления пишет Чет не те с запросом
0
Заблокирован
05.05.2015, 17:26
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
Trukl, после исправления пишет Чет не те с запросом
И ЧиТо еСчо от меня трэба?
Как по мне так всё понятно. Ищи где накосячил выше по коду.
0
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
05.05.2015, 18:58  [ТС]
Trukl, спасибо, проблему добил сам.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.05.2015, 18:58
Помогаю со студенческими работами здесь

Если элемент найден, то удалить его и стоящий перед ним элемент
всем привет, подскажите как сделать чтобы, чтобы удалялся перед найденым, стоящий перед ним элемент. {Сформировать массив Х,...

Если элемент найден, то удалить его и следующий за ним элемент из массива
Сформировать массив x, упорядоченный по убыванию. Определить, содержит ли он заданное число. Если элемент найден, то удалить его и...

Удалить записи из таблицы product_to_category, если product_id не найден в таблице product
Запрос для cms opencart Есть таблица product (хранит в себе product_id), таблица categoty (хранит в себе category_id) есть таблица...

Выдать сообщение, если элемент не найден в БД
Как сделать проверку поиска при oborudovanieBindingSource.Position = oborudovanieBindingSource.Find(&quot;Наименование&quot;, name);, если не...

Если элемент не найден, то вставить его в массив на первое место
Сформировать массив а, упорядоченный по возрастанию. Методом бинарного поиска определить, содержит ли он заданное число. Если элемент не...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru