Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dziwny i irytujący błąd:wywołanie niezdefiniowanej funkcji mysql_query()

PHP 7 pozbyło się mysql_query() ponieważ jest to problematyczne pod wieloma względami! API nie zachęca do dobrych praktyk, oficjalna linia jest taka, że ​​jest nieutrzymywana i ŻADNYCH PRZYGOTOWANYCH OŚWIADCZEŃ!?! Zasadniczo jest to największy problem w PHP, który zachęca do złych praktyk prowadzących do wstrzykiwania sql, a to jest bardzo zła sytuacja.

Jednak pracuję ze starszymi bazami kodu, więc w niektórych przypadkach mam do czynienia z taką samą sytuacją, jak ty. Jeśli masz małą bazę kodu, po prostu zaktualizuj metodę połączenia z bazą danych. Jeśli masz dużą bazę kodu, oto co polecam:

  • Przywróć wersję php dla tej bazy kodu do php 5.6, będzie obsługiwana przez nieco więcej 2016 r.
  • Poświęć trochę czasu na aktualizację do PDO (możesz utworzyć zawijacz wokół PDO, aby był mniej szczegółowy i nadal zezwalał na przygotowane zapytania).
  • Ignoruj ​​mysqli. Jeśli uaktualnienie z mysql_* zajmuje ci 5 minut, prawdopodobnie robisz to źle i narażasz się na wstrzykiwanie sql. Po prostu przejdź do PDO i zacznij używać przygotowanych zapytań, abyś mógł spać w nocy.
  • Jeśli nadal chcesz używać php 7 w bardziej nowoczesnych projektach, uruchom instancję kontenera ze starszymi starszymi bazami kodu php 5.6.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy kolejność kolumn ma znaczenie w twoich tabelach MySQL?

  2. Jak połączyć biblioteki łączników C++ MySQL z Cmake?

  3. Nie można nawiązać połączenia JDBC z MySQL (przy użyciu Javy, IntelliJ i Linux)

  4. Java/Mysql..SQLException:Tabela musi zawierać co najmniej 1 kolumnę SQLState:42000 VendorError:1113

  5. Wyświetlaj wyniki zapytania SQL w php