Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z połączeniem z mysql
Forum PHP.pl > Forum > Bazy danych > MySQL
pomyj
witam dopier ozaczynam przygodę z php więc prosze o wyrozumiałość

sytuacja jest taka iż nie mogę połączyć się z mysql przy pomocy php
normalnie mysql działa bazę mam przygotowaną ale podczas wykonywania skryptu
nie chce się połączyć z bazą ani jako root ani zwykły user
i skrypt tak jakby wisi w tym miejscu dołożyłem 2x echo przed łączeniem i po żeby sprawdzić czy skrypt idzie dalej:

  1. <?php
  2. echo 'przed';
  3. @ $db = mysqli_connect( 'localhost' , 'pomyj' , '*****' , 'Ksiazki');
  4.  
  5. if (mysqli_connect_errno())
  6. {
  7. echo 'Błąd połączenia z bazą danych';
  8. }
  9. echo 'po';
  10. ?>


z tłumieniem błędów i bez jest tak samo
tak samo jeżęli zastosuje :
$db = new mysqli( 'localhost' , 'pomyj' , '*****' , 'Ksiazki');
to samo przy new mysql i mysql_connect();

najgorsze że skrypt nie wypluwa żadnych błędów i nie wiem gdzie szukać
po prostu dochodzi do wyświetlenia "przed" i wisi

cześć wypluwajki z phpinfo();
wygląda że wszystko jest ok (chyba)

additional .ini files parsed /etc/php5/conf.d/bz2.ini, /etc/php5/conf.d/mcrypt.ini, /etc/php5/conf.d/mysql.ini, /etc/php5/conf.d/zlib.ini

mysql
MySQL Support
enabled
Active Persistent Links 0
Active Links 0
Client API version 5.0.18
MYSQL_MODULE_TYPE external
MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_INCLUDE -I/usr/include/mysql
MYSQL_LIBS -L/usr/lib -lmysqlclient

Directive
Local Value
Master Value
mysql.allow_persistent On On
mysql.connect_timeout 60 60
mysql.default_host localhost localhost
mysql.default_password no value no value
mysql.default_port 3306 3306
mysql.default_socket /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock
mysql.default_user pomyj pomyj
mysql.max_links Unlimited Unlimited
mysql.max_persistent Unlimited Unlimited
mysql.trace_mode Off Off

działam pod Apache/2.2.0 (Linux/SUSE) + phpMyAdmin
proszę o pomoc i z góry dzięki
Daimos
mysqli_connect to jakas klasa
nie widze jej, wiec skad moge wiedziec co sie tam dzieje
na pewno sprawdzales bez uzycia klasy sie polaczyc?

a sooory, php5, to nie moja dzialka biggrin.gif
c3zi
A nie wypisuje tego bledu?
  1. <?php
  2. echo 'Błąd połączenia z bazą danych';
  3. ?>

Bo wyglada jakby po prostu skrypt przerywal dzialanie (exit()).

Jak uzywasz stylu obiektowego to uzywaj go konsekwentnie. To samo ze strukturalnym.

  1. <?php
  2. echo 'przed';
  3.  
  4. $db = new mysqli( 'localhost' , 'pomyj' , '*****' , 'Ksiazki');
  5.  
  6. if (mysqli_connect_errno())
  7. {
  8.  echo 'Błąd połączenia z bazą danych';
  9.  exit();
  10. }
  11. echo 'po';
  12. ?>


Jakie jest dzialanie tego skryptu ?
pomyj
ok temat nieaktualny już sobie poradziłe mokazało się że brat mi chciał numer wyciąć i cieszył się jak się męczyłem
poprostu w php.ini wyłączył wyswietlanie błędów :|
i coś jeszcze musiał zrobic tylko nie wiem co żeby powstał błąd podczas łaczenia

przeinstalowałem php i wszystkie jego muduły które potrzebuję włączyłem wyswietlanie błedów i ustawiłem je na E_ALL
mogę się już połączyć

ale mam malutki problem w dalszej części skryptu wrzucę go tu a nie będę kolejnego tematu zakłądał

  1. <?php
  2. $zapytanie = "SELECT * FROM ksiazki WHERE".$metoda_szukania."LIKE '%".$wyrazenie."%';";
  3. $wynik = mysqli_query($db, $zapytanie);
  4.  
  5. $ile_znalezionych=mysqli_num_rows($wynik);
  6. ...
  7. //tu wyswietlam wyniki
  8. ...
  9. mysqli_free_result($wynik);
  10. mysqli_close($db);
  11. ?>


i dostaję 2 ostrzeżenia:

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /srv/www/htdocs/rezultaty.php on line 40
Warning: mysqli_free_result() expects parameter 1 to be mysqli_result, boolean given in /srv/www/htdocs/rezultaty.php on line 58

ok temat do zamknięcia lub kasacji

przyczyną było zaniedbanie tzn brak spacji po where i przed like w zapytaniu

dlatego $wynik zwracał false
Biker
Witam. (początkujący)
Mam podobny problem jak kolega wyżej...chyba korzystamy z tej samej książki smile.gif
Poniżej fragment listingu oraz błąd:

  1. <?php
  2. $db = new mysqli( 'localhost' , '******' , '*******' , '***********'); /* LINE 27*/
  3.  
  4.  if (mysqli_connect_errno())
  5.  {
  6.  echo 'Natapil blad polaczenie z baza, prosze sprobowac ponownie.';
  7.  exit;
  8.  }
  9. ?>


Zwrócony błąd:

Fatal error: Class 'mysqli' not found in c:\program files\apache group\Apache\htdocs\mysql_test\rezultaty.php on line 27

Sprawdziłem już parokrotnie czy zgadzają się nazwy bazy, login i hasło...wszytko ok.

Pozdrawiam.
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.