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
Форумы портала PHP.SU :: Версия для печати :: Организация проверки
Форумы портала PHP.SU » » Вопросы новичков » Организация проверки

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

1. event - 10 Февраля, 2012 - 00:41:09 - перейти к сообщению
Привет, есть переменная $page = "contacts.php", нужно чтобы делался запрос в таблицу text, и проверял ячейку page, если ячейка page какой нибудь записи равна переменной $page, то чтобы выкидывало die, а если такого не обнаружено, то чтобы скрип работал дальше.

Заранее спасибо.
2. Panoptik - 10 Февраля, 2012 - 00:45:11 - перейти к сообщению
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.  
3. Okula - 10 Февраля, 2012 - 00:45:37 - перейти к сообщению
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, на несколько секунд опередил Улыбка
4. PATCH - 10 Февраля, 2012 - 00:47:45 - перейти к сообщению
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
5. Panoptik - 10 Февраля, 2012 - 00:49:13 - перейти к сообщению

как то все думают одинаково, даже не интересно Радость
6. Okula - 10 Февраля, 2012 - 00:55:20 - перейти к сообщению
Могу вот так предложить
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!");

По идеи должно меньше ресурсов есть Улыбка
7. event - 10 Февраля, 2012 - 01:12:30 - перейти к сообщению
Что за $db->query, и ->fetch_row();, ошибки...
8. PATCH - 10 Февраля, 2012 - 01:16:31 - перейти к сообщению
event пишет:
Что за $db->query, и ->fetch_row();, ошибки...

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

А ппотом уже только можешь обращаться к нему.
10. event - 10 Февраля, 2012 - 01:21:16 - перейти к сообщению
Без этой хни никак?
У меня уже есть подключение к базе.
11. Okula - 10 Февраля, 2012 - 01:25:03 - перейти к сообщению
Если у тебя подключение через функцию mysql_connect() (что как раз и является "хня", по сравнению с моим вариантом), то тогда для тебя аналоги:
query() это mysql_query()
fetch_row() это mysql_fetch_row()
12. PATCH - 10 Февраля, 2012 - 13:23:15 - перейти к сообщению
помойму я выкладывал как вариант без это "хни" D

 

Powered by ExBB FM 1.0 RC1