Wprowadzam zmiany z mysql_*
wywołań do wywołań PDO i nie jestem w stanie dowiedzieć się, jak debugować mój aktualny kod SQL podczas tworzenia nowego kodu.Debugowanie zapytań przygotowanych przez PDO za pomocą MySQL
Pod numerami mysql_*
mógłbym napisać trochę kodu SQL w funkcji PHP i mógłbym echo
uzyskać rzeczywisty kod SQL, aby zobaczyć, z czym pracował procesor.
Nie mogłem znaleźć takiego beastie w bibliotece PDO. debugDumpParams
wygląda tak, jak powinien, ale nie odrzuca powiązanej instrukcji.
Przykłady problemów, jakie napotkał:
W mojej pierwszej próbie byłem wiązania ciąg i była w tym cytaty w SQL, pomimo wiązania z data_type sznurka - to był tylko przez fluke Próbowałem usunąć cytaty z wyciągu; debugowanie pozwoliłoby mi zauważyć, że tam był powtarzany cytat.
Skopiowałem kod z jednego projektu do drugiego i przypadkowo zapomniałem poprawić nazwę bazy danych. Oczywiście SQL nie powiodło się, ponieważ tabele nie istniały w innym DB. Ale program właśnie zwrócił poprawny fałszywy wynik. Nigdzie w dziennikach PHP ani w dziennikach MySQL ani w żadnym miejscu nie dostałem podpowiedzi, że tabela nie istnieje tam, gdzie jej szukałem.
A zatem, jak inne osoby przeprowadzają debugowanie wywołań SQL PDO? czego mi brakuje? :)
Umm, z jakiegoś powodu edytor usunął mój drugi przykład: 2. Skopiowałem kod z jednego projektu do drugiego i przypadkowo zapomniałem poprawić nazwę bazy danych. Oczywiście sql nie powiodło się, ponieważ tabele nie istniały w innym db. Ale program właśnie zwrócił poprawny fałszywy wynik. Nigdzie w dziennikach php lub dziennikach mysql ani nigdzie nie znalazłem wskazówki, że tabela nie istnieje tam, gdzie jej szukałem. –
Witamy w Stackoverflow! –
@LeadeGroot, Naprawiono formatowanie. Umieszcza swój pierwszy element na tej samej linii, co "Przykłady problemów ...", dzięki czemu drugi element jest pierwszy na liście uporządkowanej numerycznie. Dziwne. – Brad