今晚我已经读了很多书,但仍然不知道该怎么做!
我有一个存储过程,需要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通过<>和\传递完整的数据吗?