Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверить выполнятнятся запрос к базе или нет
 
 автор: xpom   (31.05.2011 в 23:04)   письмо автору
 
 

Как проверить выполняется запрос к базе или нет? Если не выполняется делаем одно иначе другое

  Ответить  
 
 автор: psychomc   (31.05.2011 в 23:48)   письмо автору
 
   для: xpom   (31.05.2011 в 23:04)
 

например
<?php
$query 
"SELECT * FROM `table`";
if (
mysql_query($query)) {
    
// делаем одно
} else {
    
// делаем другое
}

  Ответить  
 
 автор: xpom   (01.06.2011 в 13:13)   письмо автору
 
   для: psychomc   (31.05.2011 в 23:48)
 

что то у меня наоборот получается...


if (mysql_query($query)) {
    // вот здесь же истина? А у меня здесь выводит, когда лож
} else {
    // а вот здесь лож? А у меня выводит когда истина
}

или это может я не так понимаю?

  Ответить  
 
 автор: cheops   (01.06.2011 в 13:46)   письмо автору
 
   для: xpom   (01.06.2011 в 13:13)
 

А что в вашем понимании ложь (нужно больше подробностей о запросе)? Дело в том, что if-блок выполнится всегда, когда выполнится запрос, если СУБД смогла его выполнить - она вернут дескриптор, который будет рассматриваться как истина.

  Ответить  
 
 автор: xpom   (01.06.2011 в 14:06)   письмо автору
 
   для: cheops   (01.06.2011 в 13:46)
 

запрос у меня вот такой

$query = "SELECT * FROM `table` WHERE idper = '$per'";


и нужно, если значение переменной $per находит в столбце idper, тогда истинна, делаем первое, а когда не находи,лож, делаем второе! Вот такого плана! Как проверить такой запрос к базе?

  Ответить  
 
 автор: cheops   (01.06.2011 в 17:10)   письмо автору
 
   для: xpom   (01.06.2011 в 14:06)
 

Тогда лучше поступить так
<?php
  $query 
"SELECT COUNT(*) FROM `table` WHERE idper = '$per'";
  
$tbl mysql_query($query);
  if(!
$tbl) exit("Ошибка - ".mysql_error());
  if(
mysql_result($tbl0)) echo "Записи обнаружены";
  else echo 
"Записи не обнаружены";
?>
если запрос в никакую менять нельзя, то можно воспользоваться функцией mysql_num_rows(), которая вернет количество найденных строк
<?php
  $query 
"SELECT * FROM `table` WHERE idper = '$per'";
  
$tbl mysql_query($query);
  if(!
$tbl) exit("Ошибка - ".mysql_error());
  if(
mysql_num_rows($tbl)) echo "Записи обнаружены";
  else echo 
"Записи не обнаружены";
?>

  Ответить  
 
 автор: psychomc   (01.06.2011 в 15:46)   письмо автору
 
   для: xpom   (01.06.2011 в 13:13)
 

пардон, всё правильно у вас. я не в том порядке написал комментарии

  Ответить  
 
 автор: xpom   (02.06.2011 в 16:17)   письмо автору
 
   для: psychomc   (01.06.2011 в 15:46)
 

спасибо всем...воспользуюсь лучше подсчетом количества...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования