Сегодня я много читаю и до сих пор не могу понять, как это сделать!
У меня есть хранимая процедура, которая ожидает 4 входных параметра. Одним из параметров должна быть строка в этом формате:
<OPENING><OPEN>value<\OPEN><\OPENING>
Моя переменная PHP содержит именно этот формат, но когда я передаю его в SQL, теги <> и \ удаляются.
Поле ввода - это nvarchar, но я не могу найти способ отправить теги в строке.
К сожалению, у меня нет возможности изменить хранимую процедуру, поскольку она является частью гораздо большего проекта.
// Take the array format of OPEN_Input and convert it.
$OPEN = htmlspecialchars('<OPENING>');
foreach($OPEN_Input as $value) {
$OPEN.= htmlspecialchars('<OPEN>').$value.htmlspecialchars('<\OPEN>');
}
$OPEN.= htmlspecialchars('<\OPENING>');
echo $OPEN; // returns <OPENING><OPEN>values<\OPEN><\OPENING>
// Run the Stored Procedure
$sql = "{CALL proc_final_op_887(?, ?, ?, ?)}";
$params = array(
array($StartFrom, SQLSRV_PARAM_IN),
array($StartTo, SQLSRV_PARAM_IN),
array($OPEN, SQLSRV_PARAM_IN),
array($User_Name, SQLSRV_PARAM_IN),
);
// Get the result of the query and assign the values to session variables.
$result = sqlsrv_query($c2, $sql, $params) or die( print_r( sqlsrv_errors(), true)) ;
Кто-нибудь знает, как я могу передать данные вместе с <> и \ с помощью PHP?