From 3e8b44546f9ecef1db1c93150a11118cc40d3e3a Mon Sep 17 00:00:00 2001 From: lilgreenbird Date: Fri, 21 Jul 2017 16:56:16 -0700 Subject: [PATCH 1/2] test fixes for PHP 7.2 --- test/functional/sqlsrv/TC21_Connection.phpt | 4 ++-- test/functional/sqlsrv/sqlsrv_close.phpt | 7 ++++--- .../sqlsrv/sqlsrv_fetch_field_twice_data_types.phpt | 2 +- .../sqlsrv/sqlsrv_input_param_unknown_encoding.phpt | 5 ++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/test/functional/sqlsrv/TC21_Connection.phpt b/test/functional/sqlsrv/TC21_Connection.phpt index ed0b57c4..0a6872a7 100644 --- a/test/functional/sqlsrv/TC21_Connection.phpt +++ b/test/functional/sqlsrv/TC21_Connection.phpt @@ -35,8 +35,8 @@ function ConnectionTest() // Valid connection attempt => no errors are expected Trace("\nValid connection attempt (to $server) ....\n"); $conn2 = Connect(); - $errors = sqlsrv_errors(SQLSRV_ERR_ERRORS); - if(count($errors) != 0) + $errors = sqlsrv_errors(SQLSRV_ERR_ERRORS); + if (!empty($errors) && count($errors) != 0) { die("No errors were expected on valid connection attempts."); } diff --git a/test/functional/sqlsrv/sqlsrv_close.phpt b/test/functional/sqlsrv/sqlsrv_close.phpt index ad0d9dab..8841141e 100644 --- a/test/functional/sqlsrv/sqlsrv_close.phpt +++ b/test/functional/sqlsrv/sqlsrv_close.phpt @@ -14,9 +14,10 @@ using an already closed connection. $conn2 = Connect(); $stmt1 = sqlsrv_query($conn2, "IF OBJECT_ID('PHPTable', 'U') IS NOT NULL DROP TABLE [PHPTable]"); $errors = sqlsrv_errors(); - $count = count($errors); - $error = $errors[0]; - $value = $error['message']; + if (!empty($errors) && count($errors) != 0) + { + die("No errors were expected on valid connection attempts."); + } $stmt2 = sqlsrv_query($conn2, "CREATE TABLE [PHPTable] ([c1_int] int, [c2_bit] bit, [c3_tinyint] tinyint, [c4_smallint] smallint, [c5_bigint] bigint, [c6_float] float, [c7_real] real, [c8_decimal] decimal(28,4), [c9_numeric] numeric(32,0), [c10_money] money, [c11_smallmoney] smallmoney, [c12_char] char(512), [c13_varchar] varchar(512), [c14_varchar(max)] varchar(max), [c15_text] text, [c16_nchar] nchar(512), [c17_nvarchar] nvarchar(512), [c18_nvarchar(max)] nvarchar(max), [c19_ntext] ntext, [c20_binary] binary(512), [c21_varbinary] varbinary(512), [c22_varbinary(max)] varbinary(max), [c23_image] image, [c24_uniqueidentifier] uniqueidentifier, [c25_timestamp] timestamp, [c26_datetime] datetime, [c27_smalldatetime] smalldatetime)"); sqlsrv_free_stmt($stmt2); $stmt3 = sqlsrv_query($conn2, "INSERT INTO [PHPTable] ([c1_int], [c2_bit], [c3_tinyint], [c4_smallint], [c5_bigint], [c6_float], [c7_real], [c8_decimal], [c9_numeric], [c10_money], [c11_smallmoney], [c12_char], [c13_varchar], [c14_varchar(max)], [c15_text], [c16_nchar], [c17_nvarchar], [c18_nvarchar(max)], [c19_ntext], [c20_binary], [c21_varbinary], [c22_varbinary(max)], [c23_image], [c24_uniqueidentifier], [c26_datetime], [c27_smalldatetime]) VALUES (-1, null, 255, 29430, -1023675178, 1, 3.4E+38, 0.6199, 0, -922337203685477.5808, 0.1695, '', null, '|Cb*vzu£ruZCzAAbÃ,@ +©¢ß_ýzÖäv,uåh,ÜÐo:üaðzÐ*OO/AC£ZUüßå>UßZa:ßðßbUO£vz@ö_z:+î<*ßäÄТBýð >Z>*oü_h+îZðaÜÜßC*ã*@~Ö:ÖzvýüÃÖîÃßÜbbOuªO¢Üýö~CäA_~_AÃbßhßýÖbäOZbZBÖauîßüߢ/oð|oO.ö/BråýÖüöZr:_z:<ö©<+äߢÜ~rb¢©rUß~£ðÖrä,BýAZ¢¢>Zzý©ýåÃß_hß ¢©ðhzÐA+åî,ÄZbv,+ß@ahbðÖ¢ýu*CÜBßöåuÄoäÐ_~U¢+îZ+î¢z/ĪßO|Öo>z@©UBߪÖ.ã_u@Bü.î/_ä*¢zÐß*+OoÄ©üa*/Aða_|z@übbBð¢¢+ZCuzoÃrð/Ö./ªÃO~uo£ö>åîü_ߣv©Ð/Ö_ß._ÖÃOÖãý~Üoåðvå>åÖüÃå,uUÖ*AövÃz©åßZ¢ã@üîC>zCß©å++Oä©ÜãðAz>ðãÄåÄå:<ýCýv£*Üb~+bC.B:©|Bã£îAåUz ªhOuß/£*ÃÖ+C@@îÃv_ürBß+b ¢bß~öuÖö Уî+~£:b.ÃZ:~zÐrÜ*ZCUÜÖhîo+ßÖÐ_¢oOÜUßåüzÐa.©ÜäAÐb,oå<ãBöîÜ<.v£z©o£Z,@>,î+ü+u+b*AC£Ð+|£o Bã A.|bBÄÖ>C~£r~ýv@><å~ß.:Z¢îðB@>özÃo+<ßîZ@ª|U/,b©äZv:öB££ððßAC©b bCAÃuhvAýýöý ¢C_ÐöðäbZ@u~vßåÄ+:äÐ>ªÖZ:rÃr~oß*~ÄOýäzä@uöÃ~oO+|îÃ|ooAa>:rªU,B_+/>~üäb|h.ÐÖCÐðCvßhzO|Ä©@©Ã¢Ch.zh©~.ÄäC.Ð/vîÜ_b*.vÜ£ÜßzAvO@î:ߪªÄ/Ü:©./:ÜOîÖZßîý~*rä*Ö@**|h@ uüöߣr*Ü¢©ýß äªå|Ö:v_zBªÐvöî/BCvîC|rüö¢ª|rüÃrbAåð:ßßÃvßîå b,v/ @_Äðrz.ð¢Cãà .,Ãubýüzz~¢ £ ¢äu*hå:h>Cã~@_O©ã~:|<ö+Or:*ruhZå£BZÖî>|:åvî|,<a|CÄ._ÃÃaZîb_,öbåäh£bv©©aÜ:h./ÃÖ@Ð @uß<.voüßZÐvh*zåaÖ+~/ÜßâB|v|~h_ßb/ßb,Ä,îZå+v> ÜC|Ãýhhå', 'Cã Ãî.rhr:bð<ߪbýÃoî/.CÜßoýåh,©OÃ.ö_,Ãaå©UbbUä¢ÖBöh:ÐãüÃÐ|îÐ.zýßÜåubäb£ZÃZur*b@ð@Ußrvu:ã/Ußãßv:+UZZ*¢|åbzãÜ:¢Ü*©AürO>ß_|/,¢¢uß>.ãäübÜozö+Öå./ýu©åoßãbvä/ÐÄðUöUß<**¢Ößzåå©vßÖîhh/oöÖbA©+|a@ bUbýCö.bb+<ä~vðoß:B@ª~bbbÃBoßC>|CîaÄ<Öüýªrü+bzÄ|ª/Z|_ÐZa@@.,î ð r/öãZv å£vB¢@ÄýÖü@|+ßöA+¢ýOü |Bvv¢O£+åZ*B.ðv££<ß_©/,Ü|@v,|uZb+_bOß+î_ +Burv.aÖÄü>+.£CÄ<ÃCðUߣavÐäãBãZ~Zrz*o~ZCU¢ãvßÄöåö: ©ß¢b_/uð__O©å©îbr*Ü_î,ý©¢ü,r|Üüå¢>¢ß©hÖîð£Ö|büö~å£Ð_O', N'vßö:|ba+Ö|zA,AC,b~å¢v£/¢£Aß ðA/ÃÄb+ýЩOäîvaýÐö|_ÖU©özzO¢+zß_UÃ:Ähªzz©h©.,aÄý¢/åÃ:v~Ã+<,.îÖ¢.㢢ußZäh£Uå¢|U_Z~Oýð.CBüCÜ*£rå.î>U|Ü,ãÃhß bã_hÐîrüßÜ@O ãÜ_ä Aý.îr~Ã.ÄÄäýªU~<ЪªbýÜö.@äCäª_ðüü*Cãðo¢ü:zO>BãOZªãCOðß*Uba, :ãßOßîAUhÖ||ý¢¢©~:zÃÃãUÖ/ÖAOaäÜðÜZ@ª>aÃrßðoäZ_Ozo©©ªÃÄ¢ª~bÐAääuvü£ÜÃCaO|ÖBåÖÃ,<å|Ða*OOub©îA:v©*öÄåå£Ö>Oh>BäªßäðO|äýå>:.B¢+üäBåå:£ªo@ªªU*UBÜÄÜã+<£Ã_~Öu£ß,<ªßÃbZ@å@ðZå_~+v¢£.©Ä Üý>u, ZÄ.ü*CCa/©OßUßUîB~BBO C~Uh©oßßrãårªß@ @.:+ãü:ª/îbäîîCzoöªãÐu:üO¢:*ðbr/,Übâß>oC£ÄÜböðzÄ~b£u©~zö>rr>C©,ã:Cã/©*:/Ðb@ÃåuÄo£*ý|uÐOÖÐhªZ©ýüzb/<ß :z,h.ÐöbÃ_ÐoÖÐCrª/ÐîÃ+:Z*/ß©ö<@£Ü*_©ðöAÖä,~*öAar.ª£ouª¢BäBÜüðvCuaB,.r/v©.ýbzßB* .ªv*ß*.OÄ/ßßobß~v**䢪ýü ýÖU_ ZÖÖ:_ aÜ.©ÃuÄÖ¢/>*o:A:Ö>ÃߪzAߪo¢+obbÄ>>~<ð©o.åU å<,BBZãavÖÐÐÄÖ~b_~*ª~+ßä©å|@b Zö*üh*rb_bzAßüÜÖåÐ*ª¢ß_£Ö@Ã_.rÐ öð:Ü+ЪUä:bvZ_|ãbîaßo:Ä:.Är¢©££ *ýBå>ý,hCBÐoÖv+röä:>OðoªÐªh@@*A*bÐv@+ýzuBÜ©ZUz@ Üa£~O>ÐvÃAbªC*rÖß©~î,ãîU rÄ~üßOBÖäãîÐðý._.ãÖðu_öÄ:ß_auö*ä| Zo*ýah C©Üå>A£b_î>Ao~ÄðUÖUÜ/A/übý.©ÖvªÖÖ| *o,î~£AÖOüvzz,+©az£böåÃüZ.äÜ ªðO~ý|rÐ rð©Ãß.ýrBv,~ª/C>,<:.ªOßU.~AbÐ ãoöÃBÄ.vbvüB ~,Öa hhäãå*aU< åååbr.|oß~ürO,rÃÖ@uubß_*. _@Üåbªz/aÖ@Z𩪩©î+ðü:¢rª>Avvb*@©ääb,ð>*îÐ,:o:~|¢,o¢ý>+bå|Z~~AOö,a¢bß|vÖ.AaubOAhî<¢åîÄ_O<Ü', N'¢îÜä|:boß@ÖbC.rö>~à ÜC¢_.Ö£ßrhCÖýîÃv@ãßrzªÜîÃýã©*ãuB|oåßßßöUÖ~©ä:u.+ /ßÄ~h/î*Ää/îý/*îAOãAå:Äî_/Äðð::|: ða@@/Ðü:Bö@ Üh ü/b~ /üCßAÄÄü.v,ä:©@*+>ÐBb.*Ü,r©~ªüA,üCîüîÄ<Ðaabã_£åB¢ü~ðz>Zaª .ãAh*:Uaî Ö_:£aaBA+@UÐz|ü£+Bb<ãå*|z£Ãå©~~_Ö|*b@ðîz,U£bB©@:ª B:å£|_aräãh,©ÜvZ~¢ðo ä£î,ÐuB<.zZBÖZ.:hUÜ ÜähbA:ö£©.ðAUA ßoZä<ÜöU/hZBUA@B~rðb:ß©.BУ Ä~UäÐö~zã+z_ߢÃîÖ*êh *ß öäA>äÜÐCª_äå/*z:rUrî+UãBÖ©ÐbbO+u.@Üb_ßüª|.uBßa ý+oöbhðöÃAðÐrAÃb.o¢<î~Uî,vª*öAÖvÐ*ЩîUzB>|bAªBÜ|ä*ßðr_..hU_ß@~ý©Z£aãzAOoä_ü >rZz>b<ªußbOö @£Ä>|ð|.ÖüBövãO¢b©~bîööUz@:+übÖB/ u_ߢ/ªÖ.ªä.~Ä:OBßOýZ+vbZ*£OÄÄ@zß@¢AÖÃ:öãÄOrA|îßaOäu~Bhüö>@ZÜ.AÄB_~bB...*uh~rbaÄ/ão@ãZÐÄ+©BvoOO.©ýãÐ~Ö:å+ü|Öä>ßãðv>äßßäÃ.zoUObÐîÐü>ЪC|Ü+.+ÖßîUÖ+*UoOªzÃChzv~uÄzu£AåýbußÃÐ<,:Bå@b.åßß~Ðh©ßª<ßZOoÄb_oå*ÖZC/:/CðuAUÜrO å@¢ðåuO<Öý,_z©,|ТУªÃ+CZaÐ~~uABýãß_îuýC~ß+/båßUã:@h:_ÐOh>£å>~î@üZ|<ää£>£¢bß öb,r>ÖCÃå¢:B£,,~C¢aîä:Ü ,üßA>ã>ðär/U©ýßßßb©C+uoÃäor/ZZ|C+ãÜ/bOäðözÐ_.ö>h,:ßO¢ÐO¢äÃubÖÐrv|ä<¢vö£ü åöÃÖªvð©bbß>,<¢£o|,ößOrC:ý|:åå/ßãäÖß<äU/z,©Ã+ÜO+ãüB,va@ÃÖ~z¢Ä:Ürªa©@Ðãozzö£,>>ЩßrªðÜb|ß bbî_¢Äãªää.|/ãrÃÜvÖÃußÜa.+|o|ªCýüUCUÖhCu@.A|bröããoüÄ_/ߪu:Av£_Cbð/Cßv¢uuÄZC_+Cãaz_¢zä.O.B¢/ZüÜvA£ov©äOª,z©ßvzvuCªaöCîßu@vÄÄ£rövðabårãooCðUýrªðBã, ©üßohßöÖ.o<üO+.åUu,Av/äãO£ãaî ¢åvåvzBäöbvbÖa£üb¢ßЩä/+buBýü<ýðãb_~ÄzBCÜ+Z ÜOÃäOu~uuO£Ö/åßArCî:b U©özo|Z¢|vÃî/Z:ÜZãÖßoî@ä©Übbo/b~ß@@~ü*zUaß+ÖÃU@_UÜð@.>hbüb¢,>r_oz+:ªåÐîÐß*U|~oªÜ+öýýîÃß@rîroý*B¢£öÖ_zvðr¢ÜaýZrªv¢Ð|U¢|ð.ü_ÐÖ:vªð¢.bühOOC*ªÐaß©CÐ+|v_b*bð*Bã.ßÜbߪoö,uv::ß,îßo~+|~©î@.üðßB_Ã>£ÖZ||ð,£ÄÄ@BBßУ/ZÖÜÄvãhä@,£uozÃ~üßAC*UUOÄääoß.ªuv*ßÜîÜ,ðhÃA_Ð/_,ã>haÃ_BA@ªý.üýbCÜ/öß<îÃO.Cü£rÄ/Zz< Z~@ÐUÜUzßüüo£ðÖz<Ðððßüª~|/ãßoÄB>©Äãrîu|Ä©,,/hßýZühß~_,@zýðoßö/hbå<<ðB_.UOuv.~o/Ö:|ãAå@övr@rübÖÖuUz|© br.Ä|. hCÐß<,*,ªCr+_uÐ|*/O.:AOZªÜ/,*/zzCªCbÜ+<©,+ªCBrhC ¢bZ+ýåBö:uÄüüAOßåvðB£ßüü@ab/bO.£zbÐ+aðCÐAhzoÜÃ.*/Zrðra©ßB äüß©åvßb£îZßßühOb><ßOãªÐýÖü<:Z.îZÃbhö*vA*ÐA@b¢>Ußaöo*vha+b©hz ª*>+_CåaUÄU/<:ßb©+vÐÃ/ U|a|bÖå©CÐAC©a©B+*ßÜUîîÜÃrZ,zä|¢oaUß@_ßU+ACÃ: hbýZå+î£B*©uåä:>+vO,ü£Öå|ã__.uÜr *bu,aýrÐ>ðîhZ©üÜå©ä@b+åäbCß_Ä©äЪöuðvvöCÐbåZ_åã üB*ÃÜ<,ßörZ<<£üåuo.:aßýboÖ Öª~zoZ<~¢ OüC|.ýbü<¢bCab,:+zhCZ@ao£r+åCrab |bOzî~ãîbÃhv¢ª@ðÄîo/@A£üüðu¢OävªýÜ/auo<Ðzrrãäåa~ãü.Zã£ß@.r ý*uÄu._Zäo>Ã_//h ãßCbð£Üu:ýÖ üðªaã<+b<ý/ ~h.*våã.@>âBUbÄ:>Ü.ÜöîUî©Ãöbbãã*ß>Üu/ü|o*ß:uýð~/£¢ýuA_¢UO:~Oå*:£ãvzÖZ>a@rv/h/AîÖC@..ä¢ Uä@bý,,vý+ß+Ä¢ãhoª:AÖC>ßo_ãb*ðAßuðbåÖ:Ahßý/Ü¢£rCZ,vß,~|C+Äî/_*îb aoß|ö,Ã| UÖÃÐO>*ÄÜü©u,¢+ö@A|~~:B+/ª>,_*ý|Ub*ß/¢_,Bã|ð,C¢@/¢.*hüÐÜ©zz~aöo.üCü v|>î>O>Öåoýzýüüðö£.v*~hh ö+o©hüZoZUäC@äü<üî@ ýªbüu< ÃÃüÃ.+||ß bÐrÃoÃÄBß.ß/ß+âß* zr:£¢~:z|:ÐözOoîo ¢ßð ä.b@Uîªaß|uuv¢:@zO@.ý A~B*_Ä_£OÐbÃAZbÖ@C_Ou*ªAüZh<>,Ãß>ߪ>:ÖO©¢ýåÐ.~ªO:_©,äßC©ýb+U|boÜbZOuÃ~zÖöå|u:å¢,ÃüAüÐZðÃÃð>+', 0x673D69FE556ADF245AF7DA561AD24A053FF2DA447CBCED68EB2B0944D8E3922D9EF8DE088F120EFE46E8C681A7E81741F8F6E1CF375BA5AA50011329609A4B7665ACB822F441762CE3DBFD94F66BC00213C74CE102C2F5425234B88DFFE49DAC9C4F1BFB30F54DB780B4EB5B5D11B4E4411016994E6A74A3B675CFBF88E82DFF3E51F7A650C5D11E7994614DD799E5417FD34CEECE045D32DA7845BA258D2E9787EB1D0B190D947C3EF71FBA0827CB1C908E3FB49C3F3139F4C5CBD87F17F8EB66CAC5EB7CDA28723FD0AFD6E4A329B3AC282A974E79FB48BAE3165342BBFC27FE34533E61E0A0B566CD75CB8F5A55519B182C57EC619DECCE7D3098C3D42F83D488D8B04FEB51CB88743180042FB85F8EC5B82A8FA53A9C96666FE4AF07F2919EF1F70782A401B0C660CE77301DE89FC4D109FD1B05F42E4D3B1AE97B6D1C80819FE11237B1DDEAC308642FD6C26C787DD01FDEFEF47699FDC8BA468A183459444DF6903BD66813F31F3A13A1C4588ACEA16BAB4D3D828D2948156EF79660AAD30AEB89CCDB3DA7680CEBDFBA62F738703078E8AD890B06CB6867F2C0F91C5DBF8F4096D9CFBDF264C3424152A3D3C751DCFDC71E77FD49FFE4BD64744AE66EF08E202A22615FA1728584E946C9B42795A0A1E4FB553E4792F696, 0x597E19DDD451C483A8A4EF7C5C5498F21303352F96CED4A901739A4FD8972BCA6B9019066A0C7278F0A4ECFBB2689F00A5547FF361C47B8AA970DB61B674AA11792411CC3A91880790BD3F, 0xD8F799D399A983173869A6158E5CFA3011C17BF9DA828D56D3C613CC7862A38589A8D179428D1CCB27F940BA6BB6AB348DD67FFBC4F70656694200D395B79FD5C6208BE58B81EE83A4B0D2E141D2EB1C1ADE3FA1E2A8C192A27A0FFF8C4935705A6AF44A2BC6A90CE7FB56132425149656E4B9B777FDF21E5FF8431171EEF75B7A6287D6DEA0F1533532BAE751AD6E7C6578A8A88F7EF85C78D6EB3282979AF804FA98C19E3DB8B6F3658144430BCCB18AC7ABF9464ECBFC6A2A5E07B5BED19E98C1E25614ACDE27C0F2B52AFCB3186C0939A8BBECA1B2B62F9C5773DFB0003494E3AC8229769CDEE883385399A1FFB712F2FD7B1615B1F70E2C2778556A480FF2809619079542939CCAD268685F1C8D9C9F61ECB2841D7E31B474FD4E23887E3A2961180AE5B07CAF69DE4C42498FAF0F99DCB5095C5C6D6218E8522145457941542E3EFD0382B6EFE43C48A5D13BE825C4EDB547D375DECCF3B5F2FD5D5B6A24650BEE1B50B10B1625C5251F13C791DCFF2D5C5790316EDE4F720A4D90B89288D2243FC64CCDD412E19E210D4FBEB92B2416FD30FE1294349D0FCBDEA7BE866D339C4DEF88CB9032584976F10F608E91B9DE297ABB6289C0900B293C01F66B2317B4DAB371C9A35985CAD7B49CA2243C803925C9940CB1D0128D5F7CA1533062DE52DA5A85DB20EF3ACFF4F08BD524EDE6ECBBC8D0A18E0B0209A0E36A26B7329974D649C8CAB6A519368EC518C1453D697196B59768923DC4CE577C3B3C841318C15616FEDA251C3516AF9A12C9F241C4627AF890029A31E29985F9723A6ADCB17AAD566B2F3E8E4C7A7F81B9F72AFADB16B7D8C18C831527243465552BA9FBACD2E9981C9CD59424ECAC16821878EA6E8A1D5B82921A25F7972F46FAD83820D084D5E60E92DE3F4122B4D5DF6D930EAC4AF7CB0D4E781AB7C4A0856C8E9A4BB38B46FE4391DBDCABDE1A5FDD45458A03209AB0E16D13810CBB2E4AF159D2B2886821542694CB1A6E1A1F2F33183C727E16814BF4EA694577C4F2876290EB520B68D77523F0636E557F41C74DE34EF37FBCCBDAD786BD9EFFDCDC62A243B8DE2ECD24CB41C74E8EB312F675A8A1F79475FE08A5C4117A84AA3975471300CB12C6639880BF83B2B86D3D27C59048F55DE448ECA43A12191D52A0200751077AB246E4AE450977D5F24B503787E9B4F361431763CB1427D7B4497B2D1F62AA6666C3747EAC9AAF546C73FA58EADA92339DACBFC439A4AF9D1E0CF9FB8D49B690A0E9D1C4753647C693C2F6581ACEEDD9B7479072A3E62CC213D75F9FA0B4C623BC69B70009CDBE6764F83077AD5683501F204346B943ECBABC0EB09DD6A726DFFCD29BB017ECD0E988280EABB6B514BD530F808070806A797DFD43FA1D2091BCD1507ADABBD338325059BD9035410307F9F34AC627A56F7B68213319A8D5CC689651D9653A3A0180D64D3016C2D9443BF93C002AD6CB952CE1FF7299A01F8A7A8D55FAE3689ECCBFF1CAEFDA7558B88FDDF71F6CD4A192CBBCAC843BC767E0B7C3B5886DDF60D35B7041380BDBBAB68846E3BCA8FF1DA6ECC22E27BB1A90F789E93816BFD04BAF7D23C4FB936986F001F5FBF5E4AB37B7A50F9CAAB0381841DF49AE21A3A3F7B8FA333E843B2213823C3E26C51E9B13DEB28071B033A0FF440B821C49BA644C5DFE42FAB16CB37C83FB196E711253224436D06F223246855A34FA79B805C9C8D8F1C8C6DCA06271FF03EEB419328D32B860D813E9F4292BB8BDA07C723AC47D325195804A8C46A3D35F701F44916B27A6C7C0582DB5DFE3C79D0D1F00E5FEC43F7081C89C0DE82B19343F89840AE7275178D6AA796C507D71B2B8AC7F27A2EE61ABDFD30FA28A99DF943EF875555FBDB5E6CD870F534BD3200456EA553BACF2925128D82B1318AEEE3CCAE42D57081C53FAF699591BDF0D600CB30A4CA044A4E84B66232C8692A2CD1F99D28866A5C8FC3A975A44139976721B781E600D624DF826FCE2F1E4EFCC6854CB39820C84F967EA0E1109E960D5B2EFB1110E7341C0BD4BDA626AC3D7174ACBF1EF485FF466977EB776FE50440EC6272F0132DEBDF5120A7C3631228FA312F7C63EF8708C52FB4B7A90BCCBC26C07CB9B4393D6E46C0DFCDC3DE3BD3474EF136307890615559ADD05E7642D3847480F2F65864B103C125A30FC934F6F3E1705A0A867BAE201B646A8B6D0FD07E0C395F5D38ECEEEA30327F52FD519C24B6EC7D05F8C90DF8D2C2EAF3FA3596B14524F39FE599BB04916FCA540C5B32B9C835D48092DA85433B567A65F1EAE00A9BCE0DC86E0C3F1D21687488FEA9FC7790213BC451161E7AAFB0548F2F5502A67FCFC84E5D7A5BCC06C75F3A65FC44816A02D5C0BF2BA975AF8318ADA7BFFDDC65CE193EE1BE2A15D57FCD99B6E414A37BC3252C7F31F74416429EDA51AE1446D982D497E305AFABE8BFFB3F6E1FBECB6E7531D48AD15D23C6C5289F1F4FB4275B76B0341F7CB066238943BF46B7E5F683D36BEC7C3FCC0825A0D12DED008C990BC3E3F75F8AABE1B4CBB1018D9DDD1EEF221B4BE3C7BB1BBAB80E6EAB828912FCAAB382D3EE9709277A27B08EBA7A97D3C24EBAF540B53418C84CA77C4D4622429E14E2EA4A3AF09B1214699FFA9CF04D768AE943CE2DBBF57F7A0BA1FF8CEA34056DF0A587BD89875E2FE32C4B941E3B4C59F5B25CEE846058ED6AD03F5E9B852A359A9CAC5AB5C90161E59E4A8FA9DB5BD055959737D716E9804CAA42A9480F945DF21609819EE1A43CA0FAF8E615C9438F746EF8F5FDF25E83A31C0E1B765819E609EC9D83D1DA3163F15A86EC1DF37A7356C334E9169E600FC785DE82E388B658D112EC293BBFBDAA2D8504936B7265BFA19AB4B32320DF7B8C8DCC5C0BBE8068943E0B0B174147A7159ACB8189DCA445101ED148D3F335B03370ACBDE3519E6EF4ABFF2D776AA850431DAD98554DE1AFD9873BECED3794A1085AC7969489B3B3FC6C9CEDDD86DDB57670F5C6559D5AE58EFCD46C15A181BD075E252C9301CBC959F99BF8B103C252A986766C31DE4B6AFFE21797B5579E4AEAEFD68F51B12274B53C6C6C0162348B2A71B29F3B157B3902BA2CA0EA2403F25B410DD12D42F0F85401A70561EF699DAD9C7D43950F1FC564AD7CA794718A91386A10B054635DE770CA3B397E75C723508F035DB6C06D4C31486C8FD65963E28705CCF7DEA9493A3E85C2DAD3E656FED64947057E2CEA680CC48F0C06DE01176648B268A8DF54A745C91F20FD82785AF17DA98D025E745A2B64FB0A2A3D335084AB748B23EE4606F4AFCFA50DB96A7A5C241A9934841507D4583D43D45A8D0895CEAC421DED270327A298629EDF4C61FA70BDF612AA2BF0966CA6CBA10222AA12B71F4F1D185C6F0D177181FBA269050BDB59639C86E5FB92ABBBB1465B62257FEE4FE7B00D44D2244EF90B389A04F403A1BFD5A8CF0D9BC113BC616CAB28A1A55C120D6271450E86873F5D9DEAC2F8A6B7AD949B8C7CB0E0B426AC40E36579264755EC87F791826CB14F218FBFFDE650C3CAA4FD841628DF612CAE5AA8BDA311C6275684D660AF262B37EA4D4B2120B6404B8D18B07B92313D0D26DAE327B3F3AC0FB988A7517A532B7ED25C3BDB943FFBF81A6D308A615A851547D949C442F373E6913B67A80EEEC139FD319946055168E6EEEB1D56C311AE6EF39219A109573BEED8454A58D843F93BABF69D2FB14F1FE66062D557D62D238F8CF8A47CC520209605BA7DB017100E9AF1E1BACC748EBDB4723330A681D408AB21BACBEFAF8C667BD60719F6C16FCF50543A65F472570B0E3AE00A91EF8A1421B1C29E5C442EFB658B3EF66D64C6F30263D042476E1438DABFCDA4BF81C49C5BF2E844FEC1631C254EF0693350AD9973FCF83E1F37DCC39D99C3AC768A3BE3B6A2AA7A7C81F430F0C41CF86DAAF57A122430C299968D142624A7650DC695AB131CB290A6232CF208B73D4B1AD455F294499A5259695A1025964447DA8F333A3E71D550F864C3EF074EC9D259320941CEB4D0C42C3351A9B2927B1FDED5177974031CA8FF050A3F75BB5B1AAF77C6E38D028925BE7F0DFB103B9E55E9B4002227406E56155042C9BAA14E70E8470A3ADB8782DC5BE1CB04F52188C366A445C1AB28E36F1960DE3CBFBF7B0D209D02D931638A622133D645755950F3D78F63066B7CC5CF63AB216AB9561C9C76BDD4581EBF920329D3A077529DE9C01FDA55305C64A1A3D7437596321FA8CB1739CEB774F8D527ED5FEC87DC4E6CC5B1614ADF00EC40021C2080CB3A0BC10A2AD55018DF224B16F53D42FC8819D788D6BFD4D0D4D9CA3AE9CCAB447819EDE19EE25D06EE53E69F1623D9C3995389F258F7E48A26F035511B253F0286F6AEEB4F516D95CCD0AA82C945BAA0F006919632A8FB702563CAAEBD0BFBC914E4182F84EE7437F5E435885D51B0E1359451048398DFDE0B2EC5EB96CEE8C0D4E17DE53D9B1C118269A04E736322C3A2D96928AAE7357C143A2456288891370B74A37BE3DBB39A784F8229F8815A980C0238CD55C015FDABF1D0F376C5E8F9C879430ECFB6DFD725CEA06B551B7382DF8C5A165FD3D13B5EA5CFF20AB023A25688518F4E5BD845225197871FBAA8807E4E13EA6BD2A9F49807A019E6EDDC65AAFE04DCC9F44483B404E3FE3C5A1BA40D3F83BCAC493683EE5CF736ABBE6E448531DC11A5CBC689F9802666EEABB83DEC0C1CA76A1FB961C780EE6CFD1DE805A6AF790A7DFA0E3178F9C31C12DFA54294B94AAFA1B6EA65787A5A14ED598CEBA820B03F32BDBFF20DDB3E604CAD5EE7EBABC843D34853FFB50382039FE9541F7CE763E21F660FD6F95891D6788A28CB2B7239418139086FDCC08A2F3BBC5224871EE365397CC8859BF14A7AA68D772AEAB6E82DA0128E33DF04055EDBD0AB4D067D4F59A6B391BEA9B3A59FFE9DC94F495F4474D424747490AF86356769A9BB45FD74293E1D8427253973FC6CFE45413AC6157C9C2678D1F8DAC9072D5C473009FA4A011990112BDB1D5F9AA08807926A44FA91542D2F2F74923053548D09C8E233E272A44427AAA4E9A17EC6DE2170C326ACE851A5EBDCCB2A8C775FBDD75E1386B87C9594FE261D4FFC6A8BA058A660BF902DE011673C5815A779B7B04AF712535B4025B4DB3E3886CB01B971511AD1D606A02DA96DF21F8C148FFD746E6D04F55828551870BBE451F569565572D6B48CA7D1A9AAD968E55920A9A05B30B4186E0CC42928C5B9555ABBCBB404ABBA093DCB70DC8CB35A2BEF42FBF7D70B89214140E858BEBD9BB6EE7C4EEF0DB4D0BD6690629FBFE79BAAB2A849E5C9C18E4F329A72C3B3615A702FB9EE00646B1E2A624E8146A8F96169A53D960673A5FD2CFE0FBC73421CF9F545E26FF5F99B46479A1F837B3047A64929192E85DB440C79CCB10264BEAAE855549BF0B6896B6009F74E7C642271ECB659734A38EE7429F1E5E6394888D198FF273E16A446EFBFBDA9148E8CD7A8575AD45C0B3B50BF66E061FED0A332278125A58D3CF45B486F69C38C8FD9E5AD2A3D9EEE743CD66D9E77C73632481F0C8B819368D74A7B52FF8BEC9177D43F9CFAC4D4931453B3445F47FEB52D2506275AB6F0FE468CC5EFC23BFEE85034E5BA483A3B6D738BE827DE5F198F5BB625CA75B546B0D331567E0EF4D0E864CAE41A52347CF2F9A8A3DECED91FE77336840C0624629AEE34D716E3CD6E8EAB0FC3036AFF3D174932D0DD1177E20A116EFAC860C4D23068493C2D6D660F2C4A2523CF061C8C74097CC2C34385896642CCF584C2962DE62D82AB11B30FB9E323A492FC54230404D276CEE3F21EFCD2CFC5DA90608A69A4073D9183616AC0F9C2EF9FAEF29D121FC8F0A24BD739E41E95C851FD251972A94AEEE51691809367B5C521127F5DE032B3BAC77FD81DDCDD5972ED9918D3C4A96CF65403A7FB8E485D3A860208C1AF47E82F396A5202D12D1217CD1E92FA5EE1F077B588F9DC8AB83C8F229D97DAC487D3A5B0F99A6A576A2536F1803E7FA552EBA401811C164E0B94813DC2E033953753353AFD49555796204B53C2EAFA79BCD9CFB1F3C9336BCD57B565192C8479E191BA3D0944B809864C7B60D0B28B109A0770F91081A17E1FC97D9593F03E699BC1722130BD707811B62BA75DC29B0ACC94CB11AB8B696FF03C2D3FD71275861E01D50F4069EFEC8708E75A55FA205D3E72D90F352CCE00680220F49030A0FF4095894BFD9BBA62A4EE8A92A40F09F61BD00164497650E143C4974E38FB4C4667E819B060D45F92B8665A56A22B6C68F82AD8C03F3CB5DA44A80828F47C39B992343ABBE5498537706EABD31BFA3F28683E460E127C172B324F7BC8DC36AE4C3CA0B47DF0A073AEA5A15FD090D2BE5A68EFB0B6262BA7261D0F89A5DDCC5B39C05FA67B35C137C7CA9768612C369A5F81215FFC85E81600F99E50E126CDD0D9462610312C4314A7B7F8FB9EC335F9D6752A24BC6C6EA3D849A571A7604690FCC68F2B062659233E0CB8449CFC873DC3947A7BFCA9147CE77247F786D17D376157FEC8440AF3B01BF6E6AFB41A16DBB267AE02E5DAA453A2023393EE61AC6C9F70E3350DBEF9B890CA5005B264C8CD5B6C352F237A4196A3AB2631C76FC1BA5A7A103336D1DE036DF5622B8AAE913D496638823C7D49252F4C816298B7E130F8A5AB38548596798E31B12E08261C0509E8E851374F8DED30FB13EA407B6AB6043122D4F358E8C3DFCEF3FABC1B1D09308C58BFDF8FF9B917CE076971AC2902D70B29D6F33701A1002481784B832115DE0AA9C412BAD6743779CD35518F522395E123B0F13606097AB7AFAB0E817D94ACF18B670254F01C24B5AF8979DC5F80D26DD25A6F60249804A0596B0B3B65A5FC28986FF3EB2130F1078C3B967C9F9E582ED8A0BF13353CCCE352620B8510F94FF98D4143FF8CE73C916957E3E9018800BB02DC52C4E6E8F35B931088CF357BF692FB9CEF5E5A68A1F1641DB9DD58D3E1DA51507234967B02A44DE85C6C5E7D6BED6140FD6498A250AA3A6160D93F2602BF3EBE6DE4F9B1FC709A4B10720C35A2E6B1CC7C07E68D31AEFFD80A351A397527D5AD3D901F86F3AF548CDA4D91DE9E04CE7A2762AA0AD8B17CBEE511B7B75650D5F8AC6EF802D72AD8DCB359A2E41D1139F576A012027DDAC48C235091D1E79D267977A9323F0CCB92FC99DD477F0E88A1C3E7B240B63EC37AD19A7BDF8688F6E52633397C63EF0AF8BB0D1578A083558D9AAEDDFA354C603AB42E50A490EC1C6392F8214BD51C3DD4DCC995B9294ADA5E44FE34D7BB0CBFD9D2FEB8359E6657DEE0A1D5A85209A88E70F91D6BB6A7116954025F92A744B896485768D663F8467661C6D8776521FC3B45B656C1EF44132BDD4EE18C06C5279BF94F600A90D22A78B2A6F9FFCEAA042206245CE0FDE6A6F4344D091516BA7FAC9F4C7E25B1F19A739BEE1F484A135D234ABF85D26846AE02987BC653C90551F8374D60823BEE601499E9450FD76EAA10EFD5DA57349D4458AE6B8D463B36AA968C1710FCB2DAF75C4F71488EF19E3B39C1A573F33AFAC3AA0917E3D05129E9533EBE73C05DAD6E04EE7E17C344B5570030538485C2B75B814376E3AAF7170B2587E540332A6ADC14476F04BCE3005553B0D3900DA553908762E27CE6B9B31DC772E23B5F7523D5C577603E63A29EAE43119FEA1376FD802454B8D047FDE55A84413D4A00D4F5EE9CFDDA8635253CE4C44439C529D90A407562070ABC439DD79205BA1265549D7E2BB15D15AC774B0F27D40BF3C42030BB46FCC49ECDEB32496002F42F6B1A7F7FA6CBA9687BE4A40E16F7E2D847AA1361D4FECB78800EA0308F13B5A9732BA40D649C5D0876C84F6248C677D6085A01B5FF825A7C4F06FFA81B78E9583F0A8AFB53D573AB5D1AFB0CBF692FB986CA282511FFB9F0C127BE6DACA4ED0DEEE7334E3B7C8232E65668E4974DBCD5D736115140B4463F409A2A2C17160EA82DED1DC835D17E0A47F54EBB86D569836AD88666939BCD3AA0F3FDA152561BD057C0B6AA2FE4A005B817094B658AB87B30A6B13E8FA814922FE32741D3DCB7F1E97E63B61EBF53863880AE7C8281C5164B7260AB94DD40BFBC147A4CBD5E21EB5F1751F716F26C71533B060EF9980FAE1E10F6516C1C5D1C3DB40A0A4506C8DA5EC32D7B2FDDFF5915FF4869C731B62414DC3EAC57C07F42BA45B962F8523C4C722BB0367A848E3011AD3B7CC3F3450BFDD5F568D81C729E43DAC0EA149C60C3B30BE7AB818FB9805DFE8ABA84F28EC6F0BD65126CC37455A911E29FC3A41B854C77B9B80BA98A7E1C651AE981C809514BF9E967274E56FF8791F26FAD19BCB9D3056E0D48C6CB5732F6F607B89AD3E1189153D9BAB45E0E20CA3079A71AD102B861068C59FC08752E823430484F46FCBE01470BC5E2FF2EA76FEC7E9651A01815F35F478447871C88DEAB28701DB5D18333BB95C3C54CC561E7D4FA1F99DEDCE21C2A54FFFF68668A2A82E737C6AE89AA0AEB62A60A4440B689D5AC728D0CEF0FDE4663F360D193DB451BA942559DAB394B5014AE7C36D7D7D99E7619CBF3FD2D93E769704A963929578750FEAB0E50EC3A63273CF84083977E9C29C26B7A1F411E7BBE7E342AFEB516EB46E4D5D92CDB4D89DF58CCC0255353C201BE7C66CDDD780FD02F5FE2B80F6472161CF99EC1956F5E84D19AB6844E466B1A62294038A02D797CD5F90D8B5AC1CFE44ABA1859B5006C4F2DE1EC32C18B91D8F4C855E6143965EF8021EB9C61D33A1FCAC239843E016561BCF11ACE3136AB4A672486927BE9C0115438D99314DFED5AB7DC67FF420DAAE362E439231E97AE4976A1253D4C9793E10228300527C25CDD13C01664CEBBF85979933F87B0ACF2BC8A901C73AAB00E103886FD29DDA5CB90975C0F5E71497ACAA8DBB3A9680C305535737A9, 0x93253B2062C47CEDE8BD3D7AEF0549D944B411, '08d2a6e7-72e4-4c2c-b1c1-4cd363f653c1', '2479-02-01 02:49:22.037', '1963-09-15 02:54')"); diff --git a/test/functional/sqlsrv/sqlsrv_fetch_field_twice_data_types.phpt b/test/functional/sqlsrv/sqlsrv_fetch_field_twice_data_types.phpt index 11009693..8fed9d3c 100644 --- a/test/functional/sqlsrv/sqlsrv_fetch_field_twice_data_types.phpt +++ b/test/functional/sqlsrv/sqlsrv_fetch_field_twice_data_types.phpt @@ -72,7 +72,7 @@ function FetchField($stmt, $idx, $numFields, $errorExpected) function PrintError($errorExpected = true) { $errors = sqlsrv_errors(SQLSRV_ERR_ALL); - if (count($errors) > 0) + if (!empty($errors) && count($errors) > 0) { $e = $errors[0]; var_dump($e['message']); diff --git a/test/functional/sqlsrv/sqlsrv_input_param_unknown_encoding.phpt b/test/functional/sqlsrv/sqlsrv_input_param_unknown_encoding.phpt index 4b76ca31..65e90fc6 100644 --- a/test/functional/sqlsrv/sqlsrv_input_param_unknown_encoding.phpt +++ b/test/functional/sqlsrv/sqlsrv_input_param_unknown_encoding.phpt @@ -52,7 +52,7 @@ sqlsrv_close($conn); ?> --EXPECTREGEX-- -Notice\: Use of undefined constant SQLSRV_ENC_UNKNOWN - assumed \'SQLSRV_ENC_UNKNOWN\' in .+(\/|\\)sqlsrv_input_param_unknown_encoding\.php on line 26 +(Warning|Notice)\: Use of undefined constant SQLSRV_ENC_UNKNOWN - assumed \'SQLSRV_ENC_UNKNOWN\' (\(this will throw an Error in a future version of PHP\) )?in .+(\/|\\)sqlsrv_input_param_unknown_encoding\.php on line 26 Array \( \[0\] => Array @@ -67,7 +67,7 @@ Array \) -Notice\: Use of undefined constant SQLSRV_ENC_UNKNOWN - assumed \'SQLSRV_ENC_UNKNOWN\' in .+(\/|\\)sqlsrv_input_param_unknown_encoding\.php on line 33 +(Warning|Notice)\: Use of undefined constant SQLSRV_ENC_UNKNOWN - assumed \'SQLSRV_ENC_UNKNOWN\' (\(this will throw an Error in a future version of PHP\) )?in .+(\/|\\)sqlsrv_input_param_unknown_encoding\.php on line 33 Array \( \[0\] => Array @@ -81,4 +81,3 @@ Array \) \) - From e3fd38c87304183bbaac325eaee7ffda18f9c758 Mon Sep 17 00:00:00 2001 From: lilgreenbird Date: Mon, 24 Jul 2017 15:12:03 -0700 Subject: [PATCH 2/2] removed redundant count() as per review comment --- test/functional/sqlsrv/TC21_Connection.phpt | 2 +- test/functional/sqlsrv/sqlsrv_close.phpt | 2 +- test/functional/sqlsrv/sqlsrv_fetch_field_twice_data_types.phpt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/functional/sqlsrv/TC21_Connection.phpt b/test/functional/sqlsrv/TC21_Connection.phpt index 0a6872a7..0d3b53dc 100644 --- a/test/functional/sqlsrv/TC21_Connection.phpt +++ b/test/functional/sqlsrv/TC21_Connection.phpt @@ -36,7 +36,7 @@ function ConnectionTest() Trace("\nValid connection attempt (to $server) ....\n"); $conn2 = Connect(); $errors = sqlsrv_errors(SQLSRV_ERR_ERRORS); - if (!empty($errors) && count($errors) != 0) + if (!empty($errors)) { die("No errors were expected on valid connection attempts."); } diff --git a/test/functional/sqlsrv/sqlsrv_close.phpt b/test/functional/sqlsrv/sqlsrv_close.phpt index 8841141e..2c8e2d10 100644 --- a/test/functional/sqlsrv/sqlsrv_close.phpt +++ b/test/functional/sqlsrv/sqlsrv_close.phpt @@ -14,7 +14,7 @@ using an already closed connection. $conn2 = Connect(); $stmt1 = sqlsrv_query($conn2, "IF OBJECT_ID('PHPTable', 'U') IS NOT NULL DROP TABLE [PHPTable]"); $errors = sqlsrv_errors(); - if (!empty($errors) && count($errors) != 0) + if (!empty($errors)) { die("No errors were expected on valid connection attempts."); } diff --git a/test/functional/sqlsrv/sqlsrv_fetch_field_twice_data_types.phpt b/test/functional/sqlsrv/sqlsrv_fetch_field_twice_data_types.phpt index 8fed9d3c..333c87d5 100644 --- a/test/functional/sqlsrv/sqlsrv_fetch_field_twice_data_types.phpt +++ b/test/functional/sqlsrv/sqlsrv_fetch_field_twice_data_types.phpt @@ -72,7 +72,7 @@ function FetchField($stmt, $idx, $numFields, $errorExpected) function PrintError($errorExpected = true) { $errors = sqlsrv_errors(SQLSRV_ERR_ALL); - if (!empty($errors) && count($errors) > 0) + if (!empty($errors)) { $e = $errors[0]; var_dump($e['message']);