sql >> Database >  >> RDS >> Mysql

Niet-objectfouten bij gebruik van PHP PDO met MySQL

Je hebt geen frisse blik nodig

Je bent geen schilder maar een programmeur (vermoedelijk).
Dus in plaats van naar je code te kijken, moet je uitvoeren het. En schakel foutrapportage in.

Oh, ik heb het net gezien
En natuurlijk moet je geen foutmeldingen geven!

} catch(PDOException $ex) {
    return false;
}

een moderne versie van @ operator.
Verwijder ALLE try..catch blokken in uw code en begin ze pas te gebruiken nadat u leer waar ze voor zijn.

Dus om dit probleem en vele andere problemen in de toekomst op te lossen

  1. Verwijder alle try..catch-blokken in je code.
  2. Schakel foutrapportage in voor PDO zoals beschreven in de tagwiki waarnaar ik in de opmerkingen heb gelinkt.
  3. Gebruik geen tijdelijke aanduidingen voor de ID's, maar formatteer ze zoals beschreven in de tagwiki waarnaar ik heb gelinkt
  4. Schakel display_errors uit instelling als je niet wilt dat fouten worden weergegeven (de enige reden die ik kan bedenken om foutmeldingen te onderdrukken).

U moet ook geen aparte verbinding openen in elke functieaanroep.
Maak één verbinding aan het begin van uw script en gebruik dan if in de functie, met

global $h;


  1. Postgresql:FATAL:rol bestaat niet

  2. Welk kolomtype moet worden gebruikt om geserialiseerde gegevens op te slaan in een mysql-database?

  3. Hoe twee arrays te vergelijken en alleen de niet-overeenkomende elementen te kiezen In postgres

  4. Hoe voeg ik 1 uur toe aan currrent_timestamp in mysql, wat de standaardwaarde is?