[PHP/SQL] Problem z polaczeniem bazy danych.

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
Stig
Administrator
Posty: 938
Rejestracja: pn paź 04, 2004 10:52 am

Re: [PHP/SQL] Problem z polaczeniem bazy danych.

Post autor: Stig »

To nie jest chyba zabawa w 21 pytań - przedstaw komunikaty parsera.
Stig
Administrator
Posty: 938
Rejestracja: pn paź 04, 2004 10:52 am

Re: [PHP/SQL] Problem z polaczeniem bazy danych.

Post autor: Stig »

Spróbuj usunąć znak @ sprzed funkcji [manual]mysql_connect()[/manual].
Cvaniak
Nowy
Nowy
Posty: 22
Rejestracja: ndz lip 24, 2005 12:36 pm

Re: [PHP/SQL] Problem z polaczeniem bazy danych.

Post autor: Cvaniak »

Mała uwaga, kod jak najbardziej jest poprawny i działa, jednak chciałbym zauwarzyć, że nie potrzebnie każesz interpretorowi (chyba tak to się odmienia) php parsować cudzysłowy " ".

Interpreter php po znalezieniu znaczka $ traktuje dalsze znaki aż do spacji jako zmienną, czyli kod:

[php]<?php
$kolor = 'zielonego';
echo "Ala ma $kolor kota";
?>[/php]

...spowoduje wyświetlenie: Ala ma zielonego kota.

W swoim kodzie piszesz:
[php]
$dbconn= mysql_connect("$dbhost", "$dblogin", "$dbpass");
[/php]

Jest to technicznie poprawne, ale logicznie nie ma sensu stosowania " " skoro i tak znajduje się tam tylko zmienna. Php działa wtedy po prostu wolniej. Całkowicie poprawny kod oczywiście:

[php]
$dbconn= mysql_connect($dbhost, $dblogin, $dbpass);
...
mysql_select_db($database) or die('Cannot connect mysql.');
[/php]

Jeszcze jedna uwaga, piszesz tak:
[php]or die("Cannot connect mysql."); [/php]

I tu znowu zwalniasz php, bo po co parser ma tu szukać czegoś niezwykłego jak tu niczego takiego nie ma? Stosowanie apostrosów ' ' jest szybsze bo interpeter php nie szuka żadnych zmiennych tylko czeka na zamknięcie drugim apostrofem.

[php]or die('Cannot connect mysql.'); [/php]
?>[/php]
ODPOWIEDZ