Witam,
Mam taki skrypt (kod pochodzi z książki, ja aby ustawiłem hasło i nazwę
użytkownika bazy danych). Proszę niech ktoś rzuci okiem i powie co o tym
sądzi. Jak dla mnie, chociaż dopiero zaczynam poznawać php wydaje się ok,
jednak jest pewien problem. Po jego uruchomieniu nic się niedziej jest
wyświetlay aby komunikat: echo 'Punkt kontrolny1', nie są zaś wyświetlane
komunikaty o błędach (zawarte w warunkach if) - co by mogło wskazywać że
wszystko jest ok, ale nie są też wyświetlane kolejne komunikaty: echo 'Punkt
kontrolnyX'. Pozatym jak dam nieprawdziwe dane w wywołaniu mysql_connect(),
to też nic się nie dziej:/
Może trzeba ustawić coś w konfiguracji PHP lub APACHE żeby obsługiwać
połączenie z MySQLem, ewentualnie żeby jakieś komunikaty o błedach wyrzucało
w przeglądarce? Proszę o pomoc:)
<?php
echo 'Punkt kontrolny1';
//nawiązanie połączenia z bazą
@ $db_lnk = mysql_connect('localhost', 'xxx', 'yyy');
if (!$db_lnk ){
echo('Wystapił błąd podczas próby połączenia z serwerem...<br />');
//return false;
}
echo 'Punkt kontrolny2';
if([email="%21@mysql_select_db%28%27testphp%27"]!@mysql_select_db('testphp'[/email])){
@mysql_close();
echo('Wystąpił błąd podczas wyboru bazy danych: testphp <br />');
// return false;
}
echo 'Punkt kontrolny3';
//wykonanie zapytania
$query = "SELECT COUNT(*) FROM users WHERE nazwa='$user' ";
$query .= " AND haslo='$pass'";
if(!$result = mysql_query($query, $db_lnk)){
@mysql_close();
echo('Wystąpił błąd: nieprawidłowe zapytanie...<br />');
//return false;
}
echo 'Punkt kontrolny4';
//odczyt wyników zapytania
if(!$row = mysql_fetch_row($result)){
@mysql_close();
echo('Wystąpił błąd podczas pobierania wyników zapytania: ...<br />');
return false;
}
echo 'Punkt kontrolny5';
//ostateczne sprawdzenie poprawności danych otrzymanych z formularza
if($row[0] == 1){
$result = true;
echo $row[0];
echo 'Punkt kontrolny6';
}
else{
$result = false;
echo 'Punkt kontrolny7';
}
@mysql_close();
?>
pozdrawiam,
Qcu
PS.
Zrobiłem coś takiego w php.ini
extension_dir ="C:\php5\ext ----> katalog instalacyjny php
extension=php_mysql.dll ----> odkomentowałem
extension=php_mysqli.dll ------> to dodałem ekstra bo wygooglałem na
http://www.gajdaw.pl/php/instalacja-apache...xp/p2.html#P2-1
I nadal nie działa:/ To że php.ini mam zlokalizowane w C:\WINDOWS chyba nie
ma znaczenia?
Pozatym wydaje mi się że powykonaniu skryptu z funkcją phpinfo() między innymi
powinna mi się wyświetlić tabela: mysql niestety nie ma jej:/
I po problmie, pomógł mi jedn dobry człowiek, który w swej mądrości powiedział:
"...przenies plik "libmysql.dll" ktory znajdziesz w katalogu php do katalogu
"apache\bin\"..."
pozdrawiam