Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]problem z łączeniem się z bazą danych
Forum PHP.pl > Forum > Przedszkole
dragonroxave
witam, jestem nowy na forum i dopiero raczkuję jeśli chodzi o PHP i MySQL.
Mój problem polega na skrypcie php, który powinien połączyć się z bazą danych MySQL oraz wprowadzić dane do tablicy, ale tego nie robi, a zamiast tego pojawia mi się strona z kodem html urwanym w miejscu gdzie powinien pojawić się skrypt php (tj. echo 'xxxx';) i nawet nie jest zakończony ten kod html.

kod, który ma się łączyć z bazą danych wygląda tak:
  1. $dbc = mysqli_connect('localhost', 'root', 'kupa', 'aliendatabase')
  2. or die('Brak połączenia z serwerem MySQL.');
  3.  
  4. $query = "INSERT INTO aliens_abduction (first_name, last_name, when_it_happened, how_long, " .
  5. "how_many, alien_description, what_they_did, fang_spotted, other, email) " .
  6. "VALUES ('SYLWIA', 'Mazur', '3 dni temu', '1 dzień', 'czterech', " .
  7. "'zieloni z sześcioma mackami', " .
  8. "'Tylko rozmawialiśmy i bawiliśmy się z psem', " .
  9. "'tak', 'Mogłam widzieć Twojego psa. Skontaktuj się ze mną.', " .
  10. " 'sylwia@gregs-list.net')";
  11.  
  12. $result = mysqli_query($dbc, $query)
  13. or die('Błąd w zapytaniu do bazy danych.');
  14.  
  15.  
  16.  
  17.  
  18. mysqli_close($dbc);



mam:
MySQL wersję 5.0.77
Apache'a 2.2.11
PHP 5.2.9-1 z extension mysqli.dll i połączony z apachem 2.2.xx

Instalowałem serwer 'ręcznie' i staram się nie korzystać z kombajnów, bo chciałbym samemu nauczyć się stawiać serwery i czy nie jest to wina w kodzie php, a w tym, że źle skonfigurowałem bazę mysql.
Ogólnie PHP na serwerze mi działa, bo działają mi polecenia phpinfo(); w pliku .php
prosiłbym o pomoc, bo od kilku dni googluję i nie potrafię odnaleźć rozwiązania.
thek
To mamy plik połaczenia, ale pokaż ten gdzie to wykorzystujesz.
nospor
No a czy w tym urwanym kodzie html nie masz przypadkiem na koncu komunikatu:

Brak połączenia z serwerem MySQL
lub
Błąd w zapytaniu do bazy danych
?
dragonroxave
oto cały kod html, jaki mi wyświetla:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Kosmici mnie uprowadzili - zgłoszenie porwania</title>
  6. </head>
  7. <h2>Kosmici mnie uprowadzili - zgłoszenie porwania</h2>
  8.  


i jak widać jest urwany, a po znacznikach <h2> powinien pojawić się skrypt.
Nie ma właśnie żadnego komunikatu o braku połączenia, czy błędnym zapytaniu.

chociaż z drugiej strony, przeglądam właśnie error logi apache'a i wyskakuje mi:

[Fri May 06 10:09:38 2011] [error] [client 127.0.0.1] PHP Fatal error: Call to undefined function mysql_connect() in C:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs\\r02\\report.php on line 24, referer: http://localhost/r02/report.html
thek
Ty lepiej sprawdź ten mysql_connect, bo jak widać to nie to samo co mysqli_connect a więc gdzies tam masz literówkę.
dragonroxave
pierwsze co zrobiłem, to zmieniłem mysqli_connect(), na mysql_connect(), ale wszystko jest takie same. Ten sam error log i w tym samym miejscu mi się urywa.
nospor
Komunikat mówi, że nie masz zainstalowanego mysql. Musisz go zainstalować
dragonroxave
nospor, w tym sęk, że ja zainstalowałem mysql. Więc widocznie problem nie jest w kodzie, a mojej konfiguracji i że php nie ma styku z mysql
nospor
ale musisz też zaisntalować mysql w php
http://pl2.php.net/manual/en/mysql.installation.php

albo inaczej, czy phpinfo() pokazuje ci, że masz zainstalowane mysql?
dragonroxave
Nie pokazuje, żebym miał zainstalowanego MySQL.


MySQL is no longer enabled by default, so the php_mysql.dll DLL must be enabled inside of php.ini. Also, PHP needs access to the MySQL client library. A file named libmysql.dll is included in the Windows PHP distribution and in order for PHP to talk to MySQL this file needs to be available to the Windows systems PATH.

Nie bardzo rozumiem co mam tutaj zrobić. Nie wiem jak mam włączyć ten plik w php.ini, znalazłem tylko :

[PHP_MYSQLI]
extension=php_mysqli.dll
[PHP_MYSQL]
extension=php_mysql.dll

Nie wiem jak zrobić dostęp dla PHP do MySQL, a z tym windows path, to zrobiłem w swoim windows pathu : C:\Program Files\MySQL\MySQL Server 5.0\bin


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.