Pierwszą rzeczą do zrobienia byłoby prawdopodobnie zastąpienie każdego mysql_*
wywołanie funkcji z jej odpowiednikiem mysqli_*
, przynajmniej jeśli chcesz użyć proceduralnego API - co byłoby prostszym sposobem, biorąc pod uwagę, że masz już kod oparty na API MySQL, który jest proceduralny.
Aby w tym pomóc, Podsumowanie funkcji rozszerzenia MySQLi to zdecydowanie coś, co okaże się pomocne.
Na przykład:
mysql_connect
zostanie zastąpiony przezmysqli_connect
mysql_error
zostanie zastąpiony przezmysqli_error
i/lubmysqli_connect_error
, w zależności od kontekstumysql_query
zostanie zastąpiony przezmysqli_query
- i tak dalej
Uwaga:w przypadku niektórych funkcji może być konieczne dokładne sprawdzenie parametrów:może są tu i tam pewne różnice — ale nie tak wiele, powiedziałbym:zarówno mysql, jak i mysqli są oparte na tej samej bibliotece (libmysql; przynajmniej dla PHP <=5.2)
Na przykład:
- w przypadku mysql musisz użyć
mysql_select_db
po połączeniu, aby wskazać, na której bazie danych chcesz wykonywać zapytania - mysqli, z drugiej strony, pozwala określić tę nazwę bazy danych jako czwarty parametr
mysqli_connect
. - Wciąż istnieje również
mysqli_select_db
funkcja, z której możesz skorzystać, jeśli wolisz.
Gdy skończysz, spróbuj uruchomić nową wersję swojego skryptu... I sprawdź, czy wszystko działa; jeśli nie... Czas na polowanie na bug;-)