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

Форум MySQL

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

 

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

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

тема: Каталог книг: взаимодействие с базой данных
 
 автор: Артурыч   (11.07.2011 в 19:52)   письмо автору
 
 

Не пойму, что тут не правильно?

$db = mysql_connect($dblocation, $dbuser, $dbpasswd); 
  if(!$db) echo "База недоступна";

$a= mysql_query("SELECT * FROM katalog" ,$db);
echo "$a";

Не выводит нечего. Вроде создал две категории для теста. :(

  Ответить  
 
 автор: Valick   (11.07.2011 в 20:19)   письмо автору
 
   для: Артурыч   (11.07.2011 в 19:52)
 


$db = mysql_connect($dblocation, $dbuser, $dbpasswd); 
  if(!$db) echo "База недоступна";
$query="SELECT * FROM katalog";
$a= mysql_query($query);
while($b=mysql_fetch_assoc($a)){
echo $b[id];
}

$dblocation, $dbuser, $dbpasswd - переменные определены?

  Ответить  
 
 автор: Артурыч   (11.07.2011 в 20:26)   письмо автору
 
   для: Valick   (11.07.2011 в 20:19)
 

Да, я просто не все скопировал:

 <?php 
  $dblocation 
"localhost"
  
$dbname "katalog"
  
$dbuser "katalog"
  
$dbpasswd "qwe123"

  
$db mysql_connect($dblocation$dbuser$dbpasswd); 
  if(!
$db) echo "База недоступна";

$a mysql_query("SELECT * FROM katalog"$db);
echo 
"$a";


?>

  Ответить  
 
 автор: cheops   (11.07.2011 в 20:39)   письмо автору
 
   для: Артурыч   (11.07.2011 в 20:26)
 

mysql_error() не возвращает результат, она возвращает дескриптор, по которому вы можете извлечь результат одной из результирующих функций, например, (у вас кстати, база данных не выбрана)
 <?php  
  $dblocation 
"localhost";  
  
$dbname "katalog";  
  
$dbuser "katalog";  
  
$dbpasswd "qwe123";  

  
$db mysql_connect($dblocation$dbuser$dbpasswd);  
  if(!
$db) echo "База недоступна"

$a mysql_query("SELECT * FROM katalog"$db); 
if(!
$a) exit("Ошибка соединения с базой данных - ".mysql_error());
if(
mysql_num_rows($a))
{
  while(
$result mysql_fetch_array($a))
  {
     echo 
"<pre>";
     
print_r($result);
     echo 
"</pre>";
  }
}
echo 
"$a"


?>

PS Под новые вопросы лучше заводить новые темы. Есть сложность с каким-то вопросом - лучше завести под это отдельную тему.

  Ответить  
 
 автор: Артурыч   (12.07.2011 в 17:49)   письмо автору
 
   для: cheops   (11.07.2011 в 20:39)
 

Ни че не понимаю, пишет Ошибка соединения с базой данных, хоть убей :(

  Ответить  
 
 автор: cheops   (12.07.2011 в 18:12)   письмо автору
 
   для: Артурыч   (12.07.2011 в 17:49)
 

Как выглядит сообщение об ошибке?

Следующий скрипт у вас работает нормально? Выводит версию сервера?
<?php   
  $dblocation 
"localhost";   
  
$dbname "katalog";   
  
$dbuser "katalog";   
  
$dbpasswd "qwe123";  

  
$dbcnx = @mysql_connect($dblocation$dbuser$dbpasswd);   
  if (!
$dbcnx)   
  {   
    echo 
"<p>К сожалению, не доступен сервер mySQL</p>";   
    exit();   
  }   
  if (!@
mysql_select_db($dbname,$dbcnx) )   
  {   
    echo 
"<p>К сожалению, не доступна база данных</p>";   
    exit();   
  }   
  
$ver mysql_query("SELECT VERSION()");   
  if(!
$ver)   
  {   
    echo 
"<p>Ошибка в запросе</p>";   
    exit();   
  }   
  echo 
mysql_result($ver0);   
?>

  Ответить  
 
 автор: Артурыч   (12.07.2011 в 18:44)   письмо автору
 
   для: cheops   (12.07.2011 в 18:12)
 

Да, работаете: 5.1.40-community

  Ответить  
 
 автор: cheops   (12.07.2011 в 18:47)   письмо автору
 
   для: Артурыч   (12.07.2011 в 18:44)
 

Тогда возьмите вот этот кусок (и отталкивайтесь от него, обрабатывая все сообщения об ошибках, т.е. после каждого mysql_query(), проверяйте сообщения об ошибках при помощи mysql_error(), если они появляются - несите их сюда, будем разбираться в чем дело)
<?php    
  $dblocation 
"localhost";    
  
$dbname "katalog";    
  
$dbuser "katalog";    
  
$dbpasswd "qwe123";   

  
$dbcnx = @mysql_connect($dblocation$dbuser$dbpasswd);    
  if (!
$dbcnx)    
  {    
    echo 
"<p>К сожалению, не доступен сервер mySQL</p>";    
    exit();    
  }    
  if (!@
mysql_select_db($dbname,$dbcnx) )    
  {    
    echo 
"<p>К сожалению, не доступна база данных</p>";    
    exit();    
  } 
?>

  Ответить  
 
 автор: Артурыч   (12.07.2011 в 19:10)   письмо автору
 
   для: cheops   (12.07.2011 в 18:47)
 

Честно, не че не понял. Как ошибки отслеживать :(

  Ответить  
 
 автор: Valick   (12.07.2011 в 19:28)   письмо автору
 
   для: Артурыч   (12.07.2011 в 19:10)
 

$a= mysql_query($query) or die(mysql_error()); 

  Ответить  
 
 автор: cheops   (13.07.2011 в 00:27)   письмо автору
 
   для: Артурыч   (12.07.2011 в 19:10)
 

Пример использования функции mysql_error() можно также найти в сообщении cheops (11.07.2011 в 20:39)

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

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