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


Автор: Ripper 1.9.2006, 19:28
1) Когда я пишу так:
Код

<?
 $link=@mysql_connect("localhost","root","123) or die ("Can't connect to MySQL"); 
?>

То какие значения принимает $link, если написать echo $link то ничего интересного (либо ничего, либо че то типа resource id #2)
2) Как собственно проверить, есть ли соеднинение с mysql с такой то бд таким то юзером?
на php.net прочел, что ф-ия mysql_connect возвращает идентификатор соединения, если оно есть, а если нет то создает его, что мне не нужно. Хм, может можно просто проверить
if ($link==false) echo "Not connected"? smile
Но незнаю... Просто у меня был большой перерыв во время изучения пхп и сейчас как то адаптироваться тяжело, ели вспомнил эти ф-ии.


Автор: SeeD 1.9.2006, 22:39
http://softtime.ru/bookphp/gl12_10.php довольно неплохой   маленький  учебник по php+mysql. мне, в свое время, очень помог.

Автор: S.A.P. 2.9.2006, 00:30
1) это идентификатор ресурса
2) об этом написано в доке. mysql_connect возвращает false в случае неудачи.

Автор: korisarimi 24.9.2006, 22:48
Цитата

if ($link==false) echo "Not connected"? 


Так тоже можно.

Автор: Opik 17.10.2006, 23:05
Можно ещё проверить:
Код

if(!is_resource($link)) die('lost connection');

Но по сути достаточно проверки:
Код

if(!$link) die('can\'t connect');

Автор: Mal Hack 17.10.2006, 23:28
Не, не так проверяется...
Код
<?php
set_time_limit(0);

$conn = mysql_connect('localhost', 'mysqluser', 'mypass');
$db   = mysql_select_db('mydb');

/* Assuming this query will take a long time */
$result = mysql_query($sql);
if (!$result) {
   echo 'Query #1 failed, exiting.';
   exit;
}

/* Make sure the connection is still alive, if not, try to reconnect */
if (!mysql_ping($conn)) {
   echo 'Lost connection, exiting after query #1';
   exit;
}
mysql_free_result($result);

/* So the connection is still alive, let's run another query */
$result2 = mysql_query($sql2);
?>

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