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
- Bli av med alla försök..fångstblock i din kod.
- Aktivera felrapportering för PDO enligt beskrivningen i taggwiki som jag länkade till i kommentarerna.
- Använd inte platshållare för identifierarna utan formatera dem enligt beskrivningen i taggwikin jag länkade till
- 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;