sql >> Databasteknik >  >> RDS >> Mysql

Non-Object Errors med PHP PDO med MySQL

Du behöver inte ett par fräscha ögon

Du är inte målare utan en programmerare (förmodligen).
Så istället för att titta på din kod måste du köra Det. Och aktivera felrapportering.

Åh, såg det nyss
Och självklart ska du inte sätta munkavle på felmeddelanden!

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

en modern version av @ operator.
Var vänlig bli av med ALLA try..catch blockerar din kod och börja använda dem först efter att har lärt dig vad de är till för.

Så, för att lösa just detta problem såväl som många andra problem i framtiden

  1. Bli av med alla försök..fångstblock i din kod.
  2. Aktivera felrapportering för PDO enligt beskrivningen i taggwiki som jag länkade till i kommentarerna.
  3. Använd inte platshållare för identifierarna utan formatera dem enligt beskrivningen i taggwikin jag länkade till
  4. Stäng av display_errors inställning om du inte vill att fel ska visas (den enda anledningen till att undertrycka felmeddelanden jag kan tänka mig).

Du bör inte heller öppna en separat anslutning i varje funktionsanrop.
Skapa en anslutning i början av ditt skript och använd sedan if i funktionen med

global $h;


  1. hur man sorterar ordning på LEFT JOIN i SQL-fråga?

  2. ta bort länk tar inte bort någon post i mysql-databasen

  3. Vad är standardprecision och skala för ett nummer i Oracle?

  4. Ladda CSV-data till MySQL i Python