Някаква команда или метод за замяна на mysql_real_escape_string? - Използване на sqlsrv

Опитвам се да намеря начин, по който да има същия резултат като използването на mysql_real_escape_string. Знам, че sqlsrv няма команда за екраниране на низ, но имам нужда от функцията за екраниране на низ. Има ли някаква команда или метод, който прави екраниращ низ за sqlsrv? Опитах addslashes, но това, което направи, беше да въведе и наклонените черти в базата данни, което за съжаление не е това, което исках. Просто исках този екраниращ низ да помогне, тъй като някои от входовете в базата данни имат специални знаци като ', в които има проблем с вмъкването в базата данни. Благодаря ти!


person Jolene    schedule 02.08.2014    source източник
comment
stackoverflow .com/questions/574805/   -  person Charlotte Dunois    schedule 02.08.2014
comment
Да, има - нарича се параметризирани заявки (добавените наклонени черти никога не са правилни за SQL)   -  person user2864740    schedule 02.08.2014
comment
@CharlotteDunois: Благодаря ви много за връзката! Очевидно мисля, че направих str_replace преди, но не го направих правилно, следователно базата данни показва двойни кавички. Следвайки даденото в него решение, успях да го вмъкна правилно. Благодаря за вашата помощ!   -  person Jolene    schedule 04.08.2014
comment
@user2864740 Да, вече намерих решението, но все пак благодаря!   -  person Jolene    schedule 04.08.2014
comment
@Jolene Използването на ръчна str_replace също е неправилно.   -  person user2864740    schedule 04.08.2014
comment
@user2864740 ›‹ Разбирам, защото всъщност това, което наистина исках да гарантирам, е, че цитатът може да бъде вмъкнат в базата данни. Използването на str_replace постигна това, но относно това как да избягам от низ... това все още е въпрос за мен.   -  person Jolene    schedule 05.08.2014


Отговори (1)


Като общо правило ще искате да използвате PDO за достъп до база данни. Той обгръща логиката от различни бази данни в един API.

Не всички файлове са включени в PHP за използване на PDO. По-конкретно, ще ви трябва драйверът SqlSrv от сайта на Microsoft... обаче, версия 3.0 поддържа само PHP 5.3 и 5.4. По-старите версии ще се нуждаят от версия 2.0.

PHP 5.5 се нуждае от неофициална версия, модифицирана от изходния код на CodePlex.

Забележка: Изглежда, че няма файлове с драйвери за други операционни системи.

Ще ви трябват два файла към php.ini за PDO поддръжка, но кои два зависи от това дали PHP е компилиран като безопасен за нишки и коя версия на PHP е.

PDO съдържа и двата метода за извършване на подготвени отчети (препоръчително) и стойности на кавички.

person Powerlord    schedule 02.08.2014
comment
Уау, съжалявам, но ми е малко сложно. Въпреки това опитах str_replace и работи перфектно. Все още благодаря! - person Jolene; 04.08.2014