Zgodnie z witryną PHP.net rozszerzenie MySQL jest przestarzałe od PHP 5.5+ Biorąc pod uwagę dużą liczbę stron PHP korzystających z MySQL, chciałbym wiedzieć, jakie najlepsze praktyki być dla istniejących stron używających MySQL. Czy ustabilizowałbyś swoją witrynę w wersji PHP obsługującej MySQL? Lub podjąć zobowiązanie kosztowe i czasowe, aby przeprowadzić migrację do innego rozszerzenia bazy danych?Przyszłość funkcji MySQL PHP
Odpowiedz
Rozszerzenie MySQL jest przestarzałe, a nie obsługa MySQL jako całości. PHP jest obecnie próbuje wcisnąć nowe rozszerzenie MySQLi jako zamiennik:
http://php.net/manual/en/book.mysqli.php
MySQLi ulepsza starych funkcji, co pozwala wykonywać funkcje MySQL proceduralnie (jak wyżej) lub z przedmiotami.
Tak, znam tę część. PHP mogłoby znacznie ułatwić wdrożenie MySQLI, gdyby zachowały kolejność zmiennych w wywołaniach funkcji! –
Jak napisano na podręczniku PHP, http://php.net/manual/en/intro.mysql.php
To rozszerzenie jest przestarzała od PHP 5.5.0, i nie jest zalecane za pisanie nowego kodu, jak to będzie w przyszłości usunięta. Zamiast tego należy użyć rozszerzenia mysqli lub PDO_MySQL. Zobacz także Omówienie API MySQL , aby uzyskać dalszą pomoc przy wyborze interfejsu API MySQL.
Powinieneś używać mysqli.
Przeczytaj ponownie pytanie, OP już to wie. – Paul
Jeśli masz czas programowania, gorąco polecam przeniesienie do PDO lub MySQLi. Te rozszerzenia będą utrzymywane i oficjalnie wspierane przez grupę PHP.
Jeśli twoja aplikacja jest naprawdę stabilna i bezpieczna, wówczas wyłączałbym ostrzeżenie generowane przez 5.5. Kiedy rozszerzenie zostanie usunięte, jestem pewien, że nadal będzie istnieć jako rozszerzenie PECL, które następnie będę zawierał.
Jeśli zamierzasz odejść od mysql, nie idź do MySQLi, ale zamiast do PDO zamiast tego.
Zobacz mysqli or PDO - what are the pros and cons?
Jak ja to widzę: PDO> MySQLi> mysql.
Niektóre PDO pro:
- Multidatabase
- obiektowe (brak globalne funkcje z dziwnych skutków ubocznych, jeśli nie zapewniają opcjonalną dblink)
- Szybka
- specjalna MySQL specyficzne opcje nadal dostępne: http://php.net/manual/en/ref.pdo-mysql.php
Chciałbym wiedzieć, jakie będą najlepsze praktyki dla istniejących witryn korzystających z MySQL.
Ten można łatwo odpowiedzieć.
Nie powinno być żadnych funkcji Mysql (jak również Mysqli lub PDO) w kodzie aplikacji w ogóle.
Jeśli używasz surowych funkcji API jak ten
$data = array();
$name = mysql_real_escape_string($_GET['name']);
$result = mysql_query("SELECT * FROM table WHERE name = '$name'");
while ($row = mysql_fetch_row($result)){
$data[] = $row;
}
potem trzeba początek przepisywania kodów immediatey, stosując pewne opakowanie bazy zamiast surowych bezpośrednich wywołań API, aby wyglądał jak ten :
$data = $db->getAll("SELECT * FROM table where name=?s",$_GET['name']);
to nie tylko skrócić i rozruszać swoje kody dramatycznie, ale również umieścić wszystkie wywołania API w jednej bibliotece, gdzie można go zmienić na cokolwiek nowego API gdy zespół PHP postanowił zabić kolejny doskonały ext.
Dlaczego nie upwote-love? ext/mysql jest * bajeczny *. –
- 1. PHP: odpowiednik funkcji SUBSTRING_INDEX MySQL?
- 2. Tworzenie funkcji php do zwracania wyników mysql
- 3. Konwersja Scala Przyszłość na Twitter Przyszłość
- 4. Implementacja funkcji Hashing MySQL
- 5. Cassandra lub mysql 5? Co będzie dobre na przyszłość?
- 6. Tworzenie niestandardowej funkcji MySQL?
- 7. Jak przekształcić [Przyszłość [A], Przyszłość [B]] na przyszłość [Albo [A, B]]
- 8. Przyszłość cmd & powershell
- 9. Przyszłość i stabilność IronPython
- 10. Przyszłość dźwięku JavaScript?
- 11. AND operator nie działający w funkcji PHP za pomocą MySQL
- 12. Wywołanie funkcji PHP kilka razy powoduje błąd MySQL
- 13. PhP, MySql - Optymalizowanie kodu
- 14. Wydajność funkcji MySql Xml?
- 15. Dziedziczenie PHP i MySQL
- 16. Połączenie php mysql
- 17. Przykład wtrysku PHP MySQL?
- 18. PHP - MySQL - Usuń wiersz
- 19. Hrabia w php mysql
- 20. Zapytania mysql PHP
- 21. PHP mysql problemy charset utf8
- 22. Przyszłość FireBreath? Czy będzie martwy?
- 23. Jaka jest przyszłość std :: valarray?
- 24. Czy istnieje przyszłość VBA/VSTO programu PowerPoint?
- 25. Problem funkcji rekursywnej PHP?
- 26. Zrozumienie funkcji anonimowych PHP
- 27. PHP Trait wywołanie funkcji
- 28. MySQL vs MySQLi przy użyciu PHP
- 29. MySQL: Niewłaściwe użycie funkcji grupy
- 30. Nawiązywanie wątków PHP do funkcji php asynchronicznie
To pytanie prawdopodobnie nie jest tematem dla Stack Overflow, ale jest dobrym pytaniem. –
Zobacz ten wpis przedstawiający kilka powodów, dla których warto używać nowoczesnego mysqli: http://stackoverflow.com/a/8891552/716216 –