Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Php не подсоединяется к mysql


Автор: mr.fox 13.4.2005, 21:45
Короче такая проблема
Код
<?php
  // create short variable names
  $searchtype=$HTTP_POST_VARS['searchtype'];
  $searchterm=$HTTP_POST_VARS['searchterm'];

  $searchterm= trim($searchterm);

  if (!$searchtype || !$searchterm)
  {
     echo 'You have not entered search details.  Please go back and try again.';
     exit;
  }
  
  $searchtype = addslashes($searchtype);
  $searchterm = addslashes($searchterm);

  @ $db = mysql_pconnect('localhost', 'root', '555890'); 
  if (!$db)
  {
     echo 'Error: Could not connect to database.  Please try again later.';
     exit;
  }

  mysql_select_db('books');
  $query = "select * from books where ".$searchtype." like '%".$searchterm."%'";
  $result = mysql_query($query);

  $num_results = mysql_num_rows($result);

  echo '<p>Number of books found: '.$num_results.'</p>';

  for ($i=0; $i <$num_results; $i++)
  {
     $row = mysql_fetch_array($result);
     echo '<p><strong>'.($i+1).'. Title: ';
     echo htmlspecialchars(stripslashes($row['title']));
     echo '</strong><br />Author: ';
     echo stripslashes($row['author']);
     echo '<br />ISBN: ';
     echo stripslashes($row['isbn']);
     echo '<br />Price: ';
     echo stripslashes($row['price']);
     echo '</p>';
  }
?>




вот код.. и постояно срабатывает функция if (!$db)
{
echo 'Error: Could not connect to database. Please try again later.';
exit;
}
Значит пхп не может пожключится к майскл
чо делать, как настроить??

Автор: Irokez 13.4.2005, 21:54
проверить:
1) поддерживается ли mysql пхп (обычно да)
2) запущен ли сервис mysql

Автор: mr.fox 15.4.2005, 12:26
Эту проблему решил, теперь проблема новая..
В выше указанном коде пхп подключается к mysql но вот потом не может почему то подключиться к базе данных books и вообще пишет такое
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\program files\apache group\apache\htdocs\results.php on line 38
Чо делать?

Автор: Irokez 15.4.2005, 12:42
ну т.к. не подключился к базе, то не отправил запрос, следовательно не получил mysql handle для mysql_num_rows(), отсюда и выдает warтing. разберись с базой, проверь существует ли она вообще, проверь логин, пароль и имя самой базы

Автор: Kud 2.5.2005, 19:47
а что у тебя выдает на вот это:
Код

  @ $db = mysql_pconnect('localhost', 'root', '555890');    
  if (!$db)    
  {    
     echo 'Error: Could not connect to database.  Please try again later.';    
     echo 'DB Error:'.mysql_error();
     exit;    
  }
 echo "Ok";

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)