sql >> Databasteknik >  >> RDS >> Mysql

PDO-felsökning - Visa fråga EFTER Bind?

Det är den enskilt vanligaste myten om SQL-felsökning. "Jag behöver se frågan efter förberedelse för att kunna se om ett fel uppstod". Faktum är att det gör du inte , och jag ska berätta varför.

När en fråga har förberetts kan platshållaren betraktas som en giltig sträng/heltal . Du bryr dig inte om vad som finns i den.

Dessutom, om du ställer in PDO korrekt, får du en detaljerad PDOException beskriver felet du har haft tillsammans med en fullständig spårning av var felet inträffade, plus att du får felsträngen från MySQL, vilket gör syntaxfel mycket lätta att hitta.

För att aktivera PDO-undantag och inaktivera emulerade förbereder:

$pdo = new PDO("mysql:host=localhost;dbname=database_name", "user", "password");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);



  1. MySql skillnad mellan två tidsstämplar i sekunder?

  2. Förstå HAProxy-statistiken för MySQL och PostgreSQL

  3. Hur man väljer var n:e rad i mySQL från n

  4. PostgreSQL IN-operator med underfrågan dålig prestanda