Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Połączony z bazą?
Forum PHP.pl > Forum > PHP
djmentos
Witam. Mam problem.
Chciałbym sprawdzić, czy MySQLi podłączone jest do bazy danych.

W manualu są same przykłady, które mówią czy wystąpił błąd, czy nie połączyło.
Np:
  1. <?php
  2. $mysqli = @new mysqli('localhost', 'fake_user', 'my_password', 'my_db');
  3.  
  4. // Works as of PHP 5.2.9 and 5.3.0.
  5. if ($mysqli->connect_error) {
  6.    die('Connect Error: ' . $mysqli->connect_error);
  7. }
  8. ?>

A ja chce tylko sprawdzić, czy połączenie jest aktywne.
phpion
Może po prostu puść sobie jakieś testowe zapytanie np.:
  1. SELECT 1;

Jeśli nie otrzymasz błędu to połączenie jest ustanowione. Nie wiem czy jest prostszy i bardziej PRO sposób ale ten powinien zadziałać.
djmentos
sorry. za zawracanie głowy.
przekopałem cały manual i mam biggrin.gif

wystarczy dać:
if ($db->connect_errno == 0){
//polaczony
djmentos
Wybaczcie. Jednak błąd jest nadal. -.-
To jest dla mnie nie pojęte. Zerżnąłem przykład prosto z manuala i nic:
  1. <?php
  2. $db = @new mysqli('127.0.0.1', $login, $pass, $baza);
  3.    if ($db->connect_errno) {
  4.    die('Connect Error: ' . $db->connect_errno);
  5. }
  6. ?>

On mi na to:
Warning: phead() [function.phead]: Couldn't fetch mysqli in /home/djmentos/domains/krolnet.pl/public_html/ucode/template.php on line 33

A kodzik dalej:
  1. <?php
  2. if ($db->connect_errno == 0){
  3. ?>

na to, dokładnie to samo. Tylko linia inna. O co w tym biega? Jak połączy poprawnie to niby wszystko ok.

Co lepsze
print $db->connect_errno;
jak nie ma errora daje 0, ale jak error jest to błąd ten co wyżej 0_o
jareeny
Jeżeli nie dostajesz błędu, to znaczy, że połączenie jest. Masz błąd? Połączenia nie ma, proste
marcio
Jak do sprawdzania ogolnie uchwytow mozesz uzyc is_resource();
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.