|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2010-03-23 07:50 UTC] zhou_wen_bo at 163 dot com
[2021-07-30 17:09 UTC] cmb@php.net
-Status: Open
+Status: Feedback
-Assigned To:
+Assigned To: cmb
[2021-07-30 17:09 UTC] cmb@php.net
[2021-08-08 04:22 UTC] php-bugs at lists dot php dot net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Oct 30 01:00:01 2025 UTC |
Description: ------------ I wrote a Active Dll to call mssql stored procedure using ADO, something like below: Option Explicit Private db As New ADODB.Connection Private adocomm As New ADODB.Command Public Function ExecSP(sql As String) As ADODB.Recordset Set db = New ADODB.Connection db.ConnectionString = CONNECT_STRING db.CursorLocation = adUseClient db.ConnectionTimeout = 30 db.Open Set adocomm.ActiveConnection = db adocomm.CommandType = adCmdStoredProc adocomm.CommandText = "p_Common_Pagination" adocomm.Parameters(1) = sql adocomm.Parameters(2) = 1 adocomm.Parameters(3) = 20 Set ExecSP = adocomm.Execute End Function And Tested OK using VB code, there are some chinese characters: Option Explicit Private rs As New ADODB.Recordset Private ESPTest As New espNew.espc Private sql as String Private Sub Command1_Click() sql = "select * from t_User where FUserID>1000 and FName like '%中国人%' order by FUserID" Set rs = ESPTest.ExecSP(sql) End Sub Below is the Sql Profiler's output: exec p_Common_Pagination N'select * from t_User where FUserID>1000 and FName like ''%中国人%'' order by FUserID', 1, 20 But if I use php to call this DLL: <?php $sql = "select * from t_User where FUserID>1000 and FName like '%中国人%' order by FUserID"; $b= new COM("esp.espc"); $list=$b->ExecSP($sql); ?> The output of the SQL Profiler is : exec p_Common_Pagination N'select * from t_User where FUserID>1000 and FName like ''%中国人%'' order by FUserID The second and the third parameters are missing. I have tesed for a long time, and I'm sure the code I wroted are all right. What's the matter ? Test script: --------------- like above Expected result: ---------------- Fix the bug.