Otórz uczę się php i z pomocą pewnej książki zaczynam rozumieć język który mnie kiedyś irytował.
Jednak w trakcie pisania kodu napotkałem na pewien problem. Może zacznę od tego że w PhpMyAdmin utworzyłem baze o nazwie "szkola" a do tej bazy dodałem tabelę o nazwie "osoby". Za pomocą php łączę się z bazą danych, jednak gdy chce wyświetlić dane które wprowadziłem w tabeli wyskakuje mi błąd.
Mój kod pliku dane-osobowe.php
Cytat
<?php
$baza = mysql_connect
('localhost',
'admin',
'admin123');
if ($baza === false) die('nie mozna nawiazac polaczenia z baza
' );
mysql_query('SET NAMES "utf8"');
$ok = mysql_select_db('szkola');{
$status = 'baza danych działa <b>poprawnie</b>!!!';
}
if ($ok === false) die('nie mozna bylo wybrac bazy danych
');
echo $status;
?>
<?php
$zapytanie = 'SELECT imie, nazwisko, telefon FROM osoby';
?>
<?php
$odpowiedz = mysql_query($zapytanie);
if ($odpowiedz === false) die('Nie mozna odebrac danych');
mysql_free_result($odpowiedz);
?>
<table border="1">
<tr>
<th>Lp.</th>
<th>Imię.</th>
<th>Nazwisko</th>
<th>Nr telefonu</th>
</tr>
<tbody>
<?php
while ($rekord = mysql_fetch_assoc($odpowiedz)){
$lp = 0;
$lp = $lp + 1;
$imie = $rekord['imie'];
$nazwisko = $rekord['nazwisko'];
$nrtelefonu = $rekord['telefon'];
echo ' <tr>'."\r\n";
echo ' <td>'.$lp.'</td>'."\r\n";
echo ' <td>'.$imie.'</td>'."\r\n";
echo ' <td>'.$nazwisko.'</td>'."\r\n";
echo ' <td>'.$nrtelefonu.'</td>'."\r\n";
echo ' </tr>'."\r\n";
}
?>
</tbody>
</table>
<?php
mysql_close($baza);
?>
$baza = mysql_connect
('localhost',
'admin',
'admin123');
if ($baza === false) die('nie mozna nawiazac polaczenia z baza

mysql_query('SET NAMES "utf8"');
$ok = mysql_select_db('szkola');{
$status = 'baza danych działa <b>poprawnie</b>!!!';
}
if ($ok === false) die('nie mozna bylo wybrac bazy danych

echo $status;
?>
<?php
$zapytanie = 'SELECT imie, nazwisko, telefon FROM osoby';
?>
<?php
$odpowiedz = mysql_query($zapytanie);
if ($odpowiedz === false) die('Nie mozna odebrac danych');
mysql_free_result($odpowiedz);
?>
<table border="1">
<tr>
<th>Lp.</th>
<th>Imię.</th>
<th>Nazwisko</th>
<th>Nr telefonu</th>
</tr>
<tbody>
<?php
while ($rekord = mysql_fetch_assoc($odpowiedz)){
$lp = 0;
$lp = $lp + 1;
$imie = $rekord['imie'];
$nazwisko = $rekord['nazwisko'];
$nrtelefonu = $rekord['telefon'];
echo ' <tr>'."\r\n";
echo ' <td>'.$lp.'</td>'."\r\n";
echo ' <td>'.$imie.'</td>'."\r\n";
echo ' <td>'.$nazwisko.'</td>'."\r\n";
echo ' <td>'.$nrtelefonu.'</td>'."\r\n";
echo ' </tr>'."\r\n";
}
?>
</tbody>
</table>
<?php
mysql_close($baza);
?>
Po uruchomieniu tego pliku w przeglądarce wyswietla mi sie taki komunikat błędu.
Cytat
baza danych działa poprawnie!!! Lp. Imię. Nazwisko Nr telefonu
( ! ) Warning: mysql_fetch_assoc(): 5 is not a valid MySQL result resource in home\www\baza\dane-osobowe.php on line 25
Call Stack
# Time Memory Function Location
1 0.0008 677600 {main}( ) ..\dane-osobowe.php:0
2 0.0059 685456 mysql_fetch_assoc ( ) ..\dane-osobowe.php:25
( ! ) Warning: mysql_fetch_assoc(): 5 is not a valid MySQL result resource in home\www\baza\dane-osobowe.php on line 25
Call Stack
# Time Memory Function Location
1 0.0008 677600 {main}( ) ..\dane-osobowe.php:0
2 0.0059 685456 mysql_fetch_assoc ( ) ..\dane-osobowe.php:25
Co ciekawe sprawdziłem kod przy pomoc mysql_error(); i niestety wywala mi ten błąd. Zmieniałem nazwe bazdy danych ale to nic nie pomogło.
Wiem że to dla was strasznie prosta sprawa dlatego sie do Was z tym zgłaszam. I mam nadzieje że bedziecie wyrozumiali
