Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z połączeniem z mysql
pomyj
post 26.03.2007, 11:51:22
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 18.03.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Daimos
post 26.03.2007, 12:09:08
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


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

Ten post edytował my salsa 26.03.2007, 12:11:51


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
c3zi
post 26.03.2007, 14:57:11
Post #3





Grupa: Zarejestrowani
Postów: 266
Pomógł: 20
Dołączył: 15.11.2006
Skąd: Koszalin

Ostrzeżenie: (0%)
-----


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 ?


--------------------
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Go to the top of the page
+Quote Post
pomyj
post 27.03.2007, 13:03:36
Post #4





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 18.03.2007

Ostrzeżenie: (0%)
-----


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

Ten post edytował pomyj 27.03.2007, 12:29:10
Go to the top of the page
+Quote Post
Biker
post 12.05.2007, 12:53:07
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.03.2007

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 15:28