sql >> Databasteknik >  >> RDS >> Mysql

Hur kan jag med PDO se till att ett UPDATE-uttalande lyckades?

Det beror på vad du menar med "lyckad". Om du menar att frågan kördes utan att misslyckas, då PDO kommer antingen att skapa ett undantag vid misslyckande eller returnera FALSE från PDOStatement::execute() , beroende på vilket felläge du har angett, så en "lyckad" fråga i så fall skulle bara vara en där exekveringsmetoden inte returnerade FALSE eller kasta ett undantag.

Om du menar "framgångsrik" genom att rader faktiskt uppdaterades (mot bara 0 uppdaterade rader), måste du kontrollera det med PDOStatement::rowCount() , som talar om antalet berörda rader från föregående fråga.

Varning:För uppdateringar där newvalue = oldvalue PDOStatement::rowCount() ger noll. Du kan använda

för att inaktivera detta oväntade beteende.



  1. Hur man förbättrar databasnoggrannheten

  2. Finns det någon skillnad mellan IS NULL och =NULL

  3. ignorerar mysql fulltext stoppord i frågan

  4. CSV i SQL-utvecklare...