Прав си, истински подготвени изявления трябва да се поддържат от сървъра. Истински подготвен означава запитване на базата данни в две стъпки.
Първата стъпка се състои в изпращане на шаблон на заявка, който сървърът може да компилира предварително. Машината на базата данни също така подготвя предварително плана за изпълнение (най-вече кои индекси ще бъдат използвани за обслужване на действителната заявка).
Втората стъпка е да дадете действителни стойности на заместващите и да изпълните действителната заявка с тези параметри.
Това обикновено позволява по-бързо изпълнение на няколко подобни заявки, тъй като 1. заявката вече е била предварително компилирана (планът за изпълнение вече е изчислен) и 2. само стойностите на параметрите се изпращат впоследствие.
Емулираната заявка е просто синтактична захар, която позволява само по-лесно изпращане (не по-бързо изпълнение) на няколко последователни подобни заявки. Пълните SQL оператори се изпращат на сървъра всеки път, когато се изпълнява емулирана заявка.
Когато сървърът не поддържа реални подготвени оператори, все пак се препоръчва използването на емулирани подготвени оператори, тъй като драйверът все още се грижи за екранирането на стойности вместо вас, което прави SQL инжектирането по-малко вероятно.