Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: brak połaczenia z mysql
Forum PHP.pl > Forum > Bazy danych > MySQL
Cienki1980
korzystasz z mysqli() .. a spróbuj za pomoca
mysql_connect();
mysql_select_database();
mysql_query();
itp itd.

To co podane w książce odnosi się do tego.
JaRoPHP
Cytat(aawasik @ 27.01.2007, 11:30:09 ) *
Czy poprawna jest instrukcja:
@ $db= new mysqli('localhost', 'uzytkownik','hasło', 'nazwa bazy w MySql');
jako połączenie z bazą.
Jak najbardziej. Zobacz w dokumentacji jak użytkownicy to stosują: User Contributed Notes.

Być może nie masz zainstalowanego rozszerzania mysqli?
Pozbądź się znaku @ usuwającego komunikaty o błędach i dodatkowo je wyświetl:
  1. <?php
  2. $db= new mysqli('localhost', 'uzytkownik','hasło', 'nazwa bazy w MySql') or die(mysqli_error());
  3. ?>

@Cienki1980 co to za propozycja? Pytanie było o użycie mysqli a nie mysql!
aawasik
Niestety nadal nie działa skrypt. Prośba do odpisujących aby jeżeli maja tą książke wydanie III sprawdzili u siebie czy to działa (rozdział 11). Po uruchomieniu tego skryptu (rezultaty.php)wykonywana jest jego czesc własnie do opisanej instrukcji łączenia z bazą (w przeglądarce pojawia sie tylko nagłowek strony i żadnych komunikatów o błedach). Prawdopodobnie coś jest nie tak z instalacją php lub serwerem. Mecze sie drugi dzień i już mam dosyć nauki z ksiązek które mają błędy. Stwierdziłem to wczesniej na podstawie wcześniejszych przykładów gdzie też cos trzeba było poprawiac w dołączonych przykładach skryptów stron www.
Cienki1980
Cytat(JaRoPHP @ 27.01.2007, 12:15:57 ) *
Być może nie masz zainstalowanego rozszerzania mysqli?

@Cienki1980 co to za propozycja? Pytanie było o użycie mysqli a nie mysql!

Sam piszesz, że może nie być zainstalowanego rozszerzenia mysqli ... więc warto sprawdzić czy działa mysql .. jeżeli nie działa to to błąd może być jeszcze w jakimś innym miejscu.
aawasik
Próbowałem z mysql tez nie dziala. Z tego co widze zainstalowane są w systemie jakieś skladniki mysqli. Instalator php to wersja 5.2.0-win32, instalator mysql 5.0.27 i apache 2.2.3-win32-x86. Wszystko sie samo zainstalowało i jak pisałem wczesniej test ze skryptem phpinfo() zadziałał. Jak pisałem w ksiązce są błedy ale tutaj juzmetoda prób i błędów nie jestem w stanie ustalić co jest grane idlaczego nie mozna sie połaczyć z baza
aawasik
[sql] po wpisaniu kodu
@ $db=new mysqli('lokalhost','uzytkownik','haslo','nazwa bazy');
skrypt sie zatrzymuje bez komunikatow o bledach. W przedszkolu nikt nie potrafi wyjasnic.
Chodzi o przyklad z ksiazki php i MySQL Tworzenie www. Luke Welling -Helion wydanie III. Do ksiazki dolaczone sa przyklady na CD. Chodzi o rozdział 11 i skrypt rezultaty.php. Utworzylem baze w Mysql zgodnie z zaleceniami ksiazki (recznie z wiersza poleceń Mysql) i w nastepnym przykladzie nie moge sie z nia polaczyć.
Czy coś jest zle poinstalowane. Sciagnełem pakiety instalacyjne MYSQL, php i Apache które istalują sie same bez mojej ingerencji. Umiesciłem nastepnie w katalogu -htdocs Apache skrypt phpinfo() i zadziałało wyświetlajac strone php.info to znaczy ze instalacja całosci chyba jest prawidłowa. Proste skrypty php z poczatku ksiazki tez dzialaja. Problem zaczał sie w rozdziale 11
Zauwazyłem jednak ze nie dziala skrypt (listing 9.1) ksiazkorama.php do tworzenia bazy 'ksiazki' dolączony na płycie CD jezeli chce go uruchomic tak jak to pisze w ksiazce na stronie 246.
Zwracam sie z prosba do tych osób ktore mają ta ksiązke i moga do niej zajrzec. Siedze juz dwa dni i stracilem juz ochote na dalsza nauke.
Wczesniej tez zauwazylem bledy w prostrzych przykladach ale tutaj juz nie wiem o co chodzi.
W skrypicie jest komunikat o bledzie, gdy nie mozna uzyskac polaczenia ale sienie wyswietla. Działapoczatkowa czesc skryptu do lini w której ustawione jest połaczenie z baza-sprawdzilem poprzez echo.
TomASS
a jak napiszesz
  1. <?php
  2. php_info();
  3. ?>

To wyskakuje, że masz zainstalowaną bazę danych?
starach
  1. <?php
  2. ?>

Jeżeli żadne z pół w wyświetlonej tablicy nie będzie miało wartości mysql
( lub mysqli - zależnie od tej którą chcesz użyć ) to oznacza że nie masz najprawdopodobniej włączonego rozszerzenia. Wyedytuj php.ini i odkomentuj "extension=php_mysqli.dll" lub "extension=php_mysql.dll" ( usuń średnik na początku ), jeśli nie będzie w sekcji extensions takich wierszy to je dodaj. Musisz mieć też poprawnie skonfigurowaną ścieżkę extension_dir do katalogu w którym masz w.w. biblioteki.
edit>
Cytat
@ $db=new mysqli('lokalhost','uzytkownik','haslo','nazwa bazy');
Chyba localhost tongue.gif
Możesz też usunąć znak małpy w tej linijce wtedy jakiś komunikat o błędzie powinieneś otrzymać.
JaRoPHP
Cytat(aawasik @ 27.01.2007, 13:34:05 ) *
jak pisałem wczesniej test ze skryptem phpinfo() zadziałał
Test wyświetli stronę, ale zobacz, czy wśród tych wszystkich informacji jest coś (i co) o bazie danych mysql i rozszerzeniu mysqli - domyślnie baza mysql w PHP5 nie jest instalowana, trzeba to zrobić samemu - modyfikacja pliku php.ini.
aawasik
ok tam jest z 1000 wierszy z róznymi 'dziwactwami' -o który chodzi/ lub jezeli wiesz to co nalezy zmienic w php.ini aby włączyć obsługe mysql.?

z drugiej strony ciekawe dlaczego nie jest właczona obsługa MySQL, skoro wiadomo ze bedzie uzytkownikowi potrzebna. Moje pytanie zmierza do tego kto robi takie pliki instalacyjne aby póżniej 'goscie' musieli grzebać w systemie. Chyba toj est tylko dla odwaznych, ja już wymiekam przy tym i chyba wracam do Microsofta z jego Acessem i FrontPage'm). Tam wszystko chyba jest prostrze.
aawasik
Po wykonaniu skryptu print_r itd... wyswietla sie strona o treści:
Array ( [0] => bcmath [1] => calendar [2] => com_dotnet [3] => ctype [4] => session [5] => filter [6] => ftp [7] => hash [8] => iconv [9] => json [10] => odbc [11] => pcre [12] => Reflection [13] => date [14] => libxml [15] => standard [16] => tokenizer [17] => zlib [18] => SimpleXML [19] => dom [20] => SPL [21] => wddx [22] => xml [23] => xmlreader [24] => xmlwriter [25] => apache2handler ) .
Z tego wynika chyba że brak obsługi mysql jakiem rolnik smile.gif

Sprawdziłem w php.ini wiersz -extension=php_mysql.dll był odznaczony i chyba zrobił to instalator mysql. Brak natomiast wiersza: extension=php_mysqli.dll w pliku php.ini. Sciezka druga wygląda nastepujaco: extension_dir = c:/php/ext/.Zauważyłem jednak ze instalator umiescił php w katalogu c:/Program Files/php i nie ma katalogu ext. Sprawdziłem brak w systemiephpmysql.dll?
Cienki1980
Jeżeli zainstalowałbyś jakiś serwer np. Krasnala to byś miał wszystko uruchomione od razu. Ty instalowałeś osobno Apacha, osobno php i osobno MySQL'a.

Teraz wystarczy otworzyć php.ini i znaleźć linijki odpowiedzialne za extensions. Będzie to fragment z mniej więcej taką zawartościa
Kod
;extension=php_mbstring.dll
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_ifx.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_msql.dll
extension=php_mysql.dll
;extension=php_oci8.dll


Każda linijka, przed którą jest średnik nie jest brana pod uwagę. Musisz odhashować linijki odpowiedzialne za mysql'a i co jeszcze będziesz chciał .. np bibliotekę GD ( extension=php_gd2.dll ).

Sprawdź jakie masz tam ustawienia.
TomASS
To co Ci daje w końcu to co poleciłem?

Spróbuj przeczytać to szczególnie o MySQL i pliku libmySQL.dll albo zainstaluj gotowy pakiecik Apache+php+MySQL (np. wamp)
starach
Ściągnij sobie paczkę php nie używaj instalatora bo on jest po pierwsze niedoskonały po drugie nie ma rozszerzeń na przykład mysql/i, a zainstalowanie php z paczki sprowadza się tylko do przekopiowania ew zmiany kilku linijek w httpd.conf

edit>
LoadModule php5_module "c:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/php"

To wystarczy dodać do pliku Apache/conf/httpd.conf żeby ci php śmigało.

edit>>
wszystko masz opisane w pliku install.txt który będzie w paczce którą ściągniesz z php.net
wyszukaj akapit Apache .. a zresztą wkleje ci to tutaj:
CODE
Apache 2.0.x on Microsoft Windows

This section contains notes and hints specific to Apache 2.0.x
installs of php on Microsoft Windows systems. We also have
instructions and notes for Apache 1.3.x users on a separate page.

Note: You should read the manual installation steps first!

Apache 2.2.x Support: Users of Apache 2.2.x may use the
documentation below except the appropriate DLL file is named
php5apache2_2.dll and it only exists as of php 5.2.0. See also
http://snaps.php.net/

Warning

We do not recommend using a threaded MPM in production with Apache2.
Use the prefork MPM instead, or use Apache1. For information on why,
read the related FAQ entry on using Apache2 with a threaded MPM

You are highly encouraged to take a look at the Apache Documentation
to get a basic understanding of the Apache 2.0.x Server. Also consider
to read the Windows specific notes for Apache 2.0.x before reading on
here.

php and Apache 2.0.x compatibility notes: The following versions of
php are known to work with the most recent version of Apache 2.0.x:

* php 4.3.0 or later available at http://www.php.net/downloads.php.
* the latest stable development version. Get the source code
http://snaps.php.net/php5-latest.tar.gz or download binaries for
Windows http://snaps.php.net/win32/php5-win32-latest.zip.
* a prerelease version downloadable from http://qa.php.net/.
* you have always the option to obtain php through anonymous CVS.

These versions of php are compatible to Apache 2.0.40 and later.

Apache 2.0 SAPI-support started with php 4.2.0. php 4.2.3 works
with Apache 2.0.39, don't use any other version of Apache with php
4.2.3. However, the recommended setup is to use php 4.3.0 or later
with the most recent version of Apache2.

All mentioned versions of php will work still with Apache 1.3.x.

Warning

Apache 2.0.x is designed to run on Windows NT 4.0, Windows 2000 or
Windows XP. At this time, support for Windows 9x is incomplete. Apache
2.0.x is not expected to work on those platforms at this time.

Download the most recent version of Apache 2.0.x and a fitting php
version. Follow the Manual Installation Steps and come back to go on
with the integration of php and Apache.

There are two ways to set up php to work with Apache 2.0.x on Windows.
One is to use the CGI binary the other is to use the Apache module
DLL. In either case you need to edit your httpd.conf to configure
Apache to work with php and then restart the server.

Note: Remember that when adding path values in the Apache
configuration files on Windows, all backslashes such as
c:\directory\file.ext must be converted to forward slashes, as
c:/directory/file.ext. A trailing slash may also be necessary for
directories.
_________________________________________________________________

Installing as a CGI binary

You need to insert these three lines to your Apache httpd.conf
configuration file to set up the CGI binary:

Example 2-5. php and Apache 2.0 as CGI
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php

# For php 4
Action application/x-httpd-php "/php/php.exe"

# For php 5
Action application/x-httpd-php "/php/php-cgi.exe"

Warning

By using the CGI setup, your server is open to several possible
attacks. Please read our CGI security section to learn how to defend
yourself from those attacks.
_________________________________________________________________

Installing as an Apache module

You need to insert these two lines to your Apache httpd.conf
configuration file to set up the php module for Apache 2.0:

Example 2-6. php and Apache 2.0 as Module
# For php 4 do something like this:
LoadModule php4_module "c:/php/php4apache2.dll"
# Don't forget to copy the php4apache2.dll file from the sapi directory!
AddType application/x-httpd-php .php

# For php 5 do something like this:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "C:/php"

Note: Remember to substitute your actual path to php for the
c:/php/ in the above examples. Take care to use either
php4apache2.dll or php5apache2.dll in your LoadModule directive and
not php4apache.dll or php5apache.dll as the latter ones are
designed to run with Apache 1.3.x.

Note: If you want to use content negotiation, read related FAQ.

Warning

Don't mix up your installation with DLL files from different php
versions. You have the only choice to use the DLL's and extensions
that ship with your downloaded php version.
_________________________________________________________________
JaRoPHP
Dołączając się do słów powyższych, aby było zainstalowane rozszerzenie mysqli musisz dodać linijkę (jeśli jej nie ma) w pliku php.ini:
Cytat
extension=php_mysqli.dll
Dodatkowo sprawdź, czy w foldezre określonym przez wpis: extension_dir = C:\php\extensions jest plik php_mysqli.dll.
aawasik
To już wiem tam mam odznaczone ale i tak dalej nie działa. Pytam sie , Czy mogą być w uzyciu dwie biblioteki php_mysql.dll i php_mysqli.dll. Zreszta okazało się ze ten instalator co go sciagnołem z strony jakies tam php.com wogóle nie instaluje tych bibliotek -KOSZMAR, co oni wymyslają?. Okazuje sie że jeszce trzeba chyba w php.ini wskazać scieżke do bibliotek dll, a ja ich w ogóle nie mam. Chyba odinstaluje to wszystko w cholere-dwa dni wgapiania sie w monitor i kicha!

Czy moze jest jakiś zestaw 3 w jednym co sie w pełni sam instaluje i bedzie dzialaćto wszystko w kupie. Co za koszmar!
Balas
Juz ktos wczesniej pisal, WAMP, XAMP, Webserv, Krasnal
spryciula
easyphp, polecam


Apache/1.3.33 (Win32) php/4.3.10, MySQL 4.1.9

EASYPHP.ORG
kpax81
Ta ksiazka ma bledy przewazne brakuje ; lub jest on niepotzrebny, dosc czesto brakuje \ poprzedzajacego " wtedy gdy chcemy wewnatrz napisu objetego cudzyslowami wyswietlic znak cudzyslowu smile.gif a jezeli chodzi o skrypt rezultaty.php ja uzylem polecen mysqlq typu :


$db = mysql_connect("localhost", "user", "pass")
or die ("Nie mogę nawi?zać poł?czenia z serwerem.");
mysql_select_db("baza");

i wszystko ladnie paca smile.gif
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.