Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Организация проверки

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
event
Отправлено: 10 Февраля, 2012 - 00:41:09
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Привет, есть переменная $page = "contacts.php", нужно чтобы делался запрос в таблицу text, и проверял ячейку page, если ячейка page какой нибудь записи равна переменной $page, то чтобы выкидывало die, а если такого не обнаружено, то чтобы скрип работал дальше.

Заранее спасибо.

(Отредактировано автором: 10 Февраля, 2012 - 00:44:15)

 
 Top
Panoptik
Отправлено: 10 Февраля, 2012 - 00:45:11
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




PHP:
скопировать код в буфер обмена
  1. $page = 'contacts.php';
  2. /////some code
  3. if(mysql_num_rows(mysql_query("SELECT `id` FROM `text` WHERE `page` = '".$page."'"))) {
  4.  exit();
  5. } else {
  6.  // continue execution
  7. }
  8.  


-----
Just do it
 
 Top
Okula
Отправлено: 10 Февраля, 2012 - 00:45:37
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




PHP:
скопировать код в буфер обмена
  1. $page = "contacts.php";
  2. // $db - ссылка на объект класса MySQLi
  3. $col = $db->query("SELECT * FROM `text` WHERE `page`='{$page}'")->num_rows;
  4. if($col !== 0) die("Error!");

(Добавление)
Panoptik, на несколько секунд опередил Улыбка
 
 Top
PATCH
Отправлено: 10 Февраля, 2012 - 00:47:45
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




PHP:
скопировать код в буфер обмена
  1. $page = trim($page);
  2. $sel = mysql_query("SELECT * FROM text WHERE page='$page'");
  3. if(mysql_num_rows($sel)!=0))
  4. {
  5.    die('error');
  6. }

panoptic else тут не надо потому что если запись есть то приостановит скрипт) а если нету то просто пропустит то что в if

(Отредактировано автором: 10 Февраля, 2012 - 00:49:08)

 
 Top
Panoptik
Отправлено: 10 Февраля, 2012 - 00:49:13
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)





как то все думают одинаково, даже не интересно Радость


-----
Just do it
 
 Top
Okula
Отправлено: 10 Февраля, 2012 - 00:55:20
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




Могу вот так предложить
PHP:
скопировать код в буфер обмена
  1. $page = "contacts.php";
  2. // $db - ссылка на объект класса MySQLi
  3. $row = $db->query("SELECT COUNT(*) FROM `text` WHERE `page`='$page'")->fetch_row();
  4. $col = (int)$row[0];
  5. if($col !== 0) die("Error!");

По идеи должно меньше ресурсов есть Улыбка
 
 Top
event
Отправлено: 10 Февраля, 2012 - 01:12:30
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Что за $db->query, и ->fetch_row();, ошибки...
 
 Top
PATCH
Отправлено: 10 Февраля, 2012 - 01:16:31
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




event пишет:
Что за $db->query, и ->fetch_row();, ошибки...

это вызов методов, не заморачивайся это относится к ООП , не для новичков короче.
 
 Top
Okula
Отправлено: 10 Февраля, 2012 - 01:17:25
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




event, я же написал что переменная $db содержит ссылку на объект класса MySQLi где query() метод того же класса, а fetch_row() метод класса MySQLi_Result
Прежде чем обращаться к объекту его нужно создать. Делается это так:
PHP:
скопировать код в буфер обмена
  1. $db = new mysqli('localhost', 'db_user', 'db_pass', 'db_base');

А ппотом уже только можешь обращаться к нему.
 
 Top
event
Отправлено: 10 Февраля, 2012 - 01:21:16
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Без этой хни никак?
У меня уже есть подключение к базе.
 
 Top
Okula
Отправлено: 10 Февраля, 2012 - 01:25:03
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




Если у тебя подключение через функцию mysql_connect() (что как раз и является "хня", по сравнению с моим вариантом), то тогда для тебя аналоги:
query() это mysql_query()
fetch_row() это mysql_fetch_row()
 
 Top
PATCH
Отправлено: 10 Февраля, 2012 - 13:23:15
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




помойму я выкладывал как вариант без это "хни" D
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB