Rozdział 13. ♦ Współpraca PHP i MySQL 373
if(!@mysql_select_db('księgarnia')){ echo('Wystąpił błąd podczas wyboru bazy danych: Księgarnia<BR>’); @mysql_close(); exit: ~
$query = "INSERT INTO Autorzy VALUES(":
$query .= "7. 'Zbigniew Nienacki"':
$query .=
if(!mysql_query($query. $db_lnk)){ echoCWystąpił błąd: zapytanie zostało odrzucone...<BR>'):
@mysql_close(); exit:
SrowsNo = niysqł_affected_rows($db_lnk): echo("Liczba dodanych rekordów: $rowsNo<br>"); if( !@mysql_closeO) {
echo('Wystąpił błąd podczas zamykania połączenia z serwerem MySQI____<BR>'):
} </body>
</html>
Za pomocą funkcji mysql_connect oraz mysqi_select_db jest nawiązywane połączenie z serwerem oraz wybierana baza księgarnia. Ten fragment kodu ma postać analogiczną do przedstawionej w poprzednich przykładach. Następnie zmiennej query jest przypisywana treść zapytania SQL w postaci:
INSERT INTO Autorzy VALUES(7. 'Zbigniew Nienacki') które dodaje do tabeli Autorzy nowego autora. Zapytanie to jest wysyłane do serwera przy użyciu funkcji mysql_query. Za pomocą instrukcji i f jest następnie sprawdzane, czy wywołanie funkcji zwróciło wartość true czy false. Jeśli jest to wartość false, czyli jeśli zapytanie zostało odrzucone, do przeglądarki jest wysyłany stosowny komunikat, a połączenie z bazą— zamykane.
Jeśli jednak zwrócona wartość to true, jest wykonywana dalsza część skryptu. Zmiennej rowsNo jest przypisywana wartość zwrócona przez wywołanie funkcji mysq1_affected_ rows, która określa, na ile wierszy w bazie miało wpływ ostatnio wykonane zapytanie. Wartość ta jest następnie wysyłana do przeglądarki, tak abyśmy mogli stwierdzić, czy na pewno został dodany jeden wiersz. Na zakończenie połączenie z bazą jest zamykane za pomocą funkcji niysql_cl ose.
Skoro wiemy już, w jaki sposób dodać z poziomu php rekord do bazy, napiszmy skrypt, który umożliwi dodawanie dowolnych danych do tabeli Autorzy. Będzie on współpracował z formularzem HTML służącym do wprowadzania identyfikatora oraz imienia i nazwiska autora. Kod takiego formularza został przedstawiony na listingu 13.9 (należy