PDO_FETCH_XML fro PDO
| From: | Justin Wu | Date: | Mon, 24 Oct 2005 11:50:33 +0000 |
| Subject: | PDO_FETCH_XML fro PDO | ||
| Groups: | php.pecl.dev | ||
| Request: | Send a blank email to pecl-dev+get-3138@lists.php.net to get a copy of this message | ||
Hi,
I created a patch (against PDO-1.0RC1) to add PDO_FETCH_XML feature to PDO.
So users can use simplexml to load the database item.
For example:
<?php
$x = new PDO("sqlite::memory:");
$x->query("create table test(name string, value string)");
$stmt = $x->prepare("INSERT INTO test (NAME, VALUE) VALUES (:name,
:value)");
$stmt->bindParam(":name", $the_name, PDO_PARAM_STR, 32);
$stmt->bindParam(":value", $the_value, PDO_PARAM_STR, 32);
for ($i = 0; $i < 4; $i++) {
$the_name = "foo" . rand();
$the_value = "bar" . rand();
if (!$stmt->execute()) {
break;
}
}
$stmt = $x->query("SELECT * FROM test");
header("Content-type: text/xml;");
echo $stmt->fetchAll(PDO_FETCH_XML);
?>
begin 666 patch.diff
M9&EF9B M3G5R(%!$3RTQ+C!20S$O<&1O+F,@<&1O+W!D;RYC"BTM+2!01$\M
M,2XP4D,Q+W!D;RYC"5-U;B!397 @,3$@,3,Z,C<Z,S @,C P-0HK*RL@<&1O
M+W!D;RYC"4UO;B!/8W0@,C0@,3DZ,3@Z,S@@,C P-0I 0" M,S(P+#8@*S,R
M,"PW($! "B )4D5'25-415)?3$].1U]#3TY35$%.5"@B4$1/7T9%5$-(7U-%
M4DE!3$E:12(L*&QO;F<I4$1/7T9%5$-(7U-%4DE!3$E:12P@0T].4U1?0U-\
M0T].4U1?4$524TE35$5.5"D["B C96YD:68*( E214=)4U1%4E],3TY'7T-/
M3E-404Y4*")01$]?1D540TA?3D%-140B+"AL;VYG*5!$3U]&151#2%].04U%
M1"P@0T].4U1?0U-\0T].4U1?4$524TE35$5.5"D["BL)4D5'25-415)?3$].
M1U]#3TY35$%.5"@B4$1/7T9%5$-(7UA-3"(L(" @("AL;VYG*5!$3U]&151#
M2%]834PL($-/3E-47T-3?$-/3E-47U!%4E-)4U1%3E0I.PH@"B )4D5'25-4
M15)?3$].1U]#3TY35$%.5"@B4$1/7T%45%)?05543T-/34U)5"(L"2AL;VYG
M*5!$3U]!5%127T%55$]#3TU-250L"4-/3E-47T-3?$-/3E-47U!%4E-)4U1%
M3E0I.PH@"5)%1TE35$527TQ/3D=?0T].4U1!3E0H(E!$3U]!5%127U!2149%
M5$-((BP)"2AL;VYG*5!$3U]!5%127U!2149%5$-(+ E#3TY35%]#4WQ#3TY3
M5%]015)325-414Y4*3L*9&EF9B M3G5R(%!$3RTQ+C!20S$O<&1O7W-T;70N
M8R!P9&\O<&1O7W-T;70N8PHM+2T@4$1/+3$N,%)#,2]P9&]?<W1M="YC"5-U
M;B!397 @,3$@,#,Z,S(Z,38@,C P-0HK*RL@<&1O+W!D;U]S=&UT+F,)36]N
M($]C=" R-" Q.3HQ.3HS.2 R,# U"D! ("TS-BPV("LS-BPW($! "B C:6YC
M;'5D92 B>F5N9%]E>&-E<'1I;VYS+F@B"B C:6YC;'5D92 B>F5N9%]I;G1E
M<F9A8V5S+F@B"B C:6YC;'5D92 B<&AP7VUE;6]R>5]S=')E86US+F@B"BLC
M:6YC;'5D92 B97AT+W-T86YD87)D+W!H<%]S;6%R=%]S='(N:"(*( H@(VEF
M($-/35!)3$5?1$Q?4$1/"B O*B![>WL@8V]N=&5N="!F<F]M('IE;F1?87)G
M7V1E9G,N8SH*0$ @+3<T,RPV("LW-#0L-R! 0 H@"6EN="!F;&%G<R ](&AO
M=R F(%!$3U]&151#2%]&3$%'4RP@:61X+"!O;&1?87)G7V-O=6YT.PH@"7IE
M;F1?8VQA<W-?96YT<GD@*B!C92P@*B!O;&1?8V4["B )>G9A;"!G<G!?=F%L
M+" J9W)P+" J*G!G<G L("IR971V86PL("IO;&1?8W1O<E]A<F=S.PHK"7-M
M87)T7W-T<B!X;6QS='(@/2![,'T["B *( EH;W<@/2!H;W<@)B!^4$1/7T9%
M5$-(7T9,04=3.PH@"6EF("AH;W<@/3T@4$1/7T9%5$-(7U5315]$149!54Q4
M*2!["D! ("TX-#8L-B K.#0X+#$Q($! "B )"0D)"7T*( D)"0E]"B
)"0D)
M8G)E86L["BL**PD)"6-A<V4@4$1/7T9%5$-(7UA-3#H**PD)"0EC;VYV97)T
M7W1O7W-T<FEN9RAR971U<FY?=F%L=64I.PHK"0D)"7-M87)T7W-T<E]A<'!E
M;F1S*"9X;6QS='(L("(\<F]W/B(I.PHK"0D)"6)R96%K.PH@"0D)"0H@"B
)
M"0ED969A=6QT.@I 0" M.38Y+#8@*SDW-BPQ-B! 0 H@"0D)"0ES=&UT+3YF
M971C:"YF=6YC+G9A;'5E<UMI9'A=(#T@=F%L.PH@"0D)"0ES=&UT+3YF971C
M:"YC;',N9F-I+G!A<F%M<UMI9'A=(#T@)G-T;70M/F9E=&-H+F9U;F,N=F%L
M=65S6VED>%T["B )"0D)"6)R96%K.PHK"BL)"0D)8V%S92!01$]?1D540TA?
M6$U,.@HK"0D)"0ES;6%R=%]S=')?87!P96YD<R@F>&UL<W1R+" B/"(I.PHK
M"0D)"0ES;6%R=%]S=')?87!P96YD;"@F>&UL<W1R+"!S=&UT+3YC;VQU;6YS
M6VE=+FYA;64L('-T;70M/F-O;'5M;G-;:5TN;F%M96QE;BD["BL)"0D)"7-M
M87)T7W-T<E]A<'!E;F1S*"9X;6QS='(L("(^(BD["BL)"0D)"7-M87)T7W-T
M<E]A<'!E;F1L*"9X;6QS='(L(%I?4U125D%,7U H=F%L*2P@6E]35%),14Y?
M4"AV86PI*3L**PD)"0D)<VUA<G1?<W1R7V%P<&5N9',H)GAM;'-T<BP@(CPO
M(BD["BL)"0D)"7-M87)T7W-T<E]A<'!E;F1L*"9X;6QS='(L('-T;70M/F-O
M;'5M;G-;:5TN;F%M92P@<W1M="T^8V]L=6UN<UMI72YN86UE;&5N*3L**PD)
M"0D)<VUA<G1?<W1R7V%P<&5N9',H)GAM;'-T<BP@(CXB*3L**PD)"0D)8G)E
M86L["B )"0D)"B )"0D)9&5F875L=#H*(
D)"0D)>G9A;%]P=')?9'1O<B@F
M=F%L*3L*0$ @+3$P,C L-B K,3 S-RPQ,R! 0 H@"0D)"0EZ=F%L7W!T<E]D
M=&]R*"9S=&UT+3YF971C:"YF=6YC+G9A;'5E<UMI9'A=*3L*( D)"0E]"B
)
M"0D)8G)E86L["BL**PD)"6-A<V4@4$1/7T9%5$-(7UA-3#H**PD)"0ES;6%R
M=%]S=')?87!P96YD<R@F>&UL<W1R+"
B/"]R;W<^(BD["BL)"0D)<VUA<G1?
M<W1R7S H)GAM;'-T<BD["BL)"0D)6E9!3%]35%))3D=,*')E='5R;E]V86QU
M92P@>&UL<W1R+F,L('AM;'-T<BYL96XL(#$I.PHK"0D)"7-M87)T7W-T<E]F
M<F5E*"9X;6QS='(I.PHK"0D)"6)R96%K.PH@"0D)"B )"0ED969A=6QT.@H@
M"0D)"6)R96%K.PI 0" M,3(S,2PV("LQ,C4U+#<@0$ *( EZ96YD7V-L87-S
M7V5N=')Y("IO;&1?8V4["B )>G9A;" J;VQD7V-T;W)?87)G<RP@*F-T;W)?
M87)G<R ]($Y53$P["B ):6YT(&5R<F]R(#T@,"P@;VQD7V%R9U]C;W5N=#L*
M*PES;6%R=%]S='(@>&UL<W1R(#T@>S!].PH@"B ):68@*$9!24Q54D4@/3T@
M>F5N9%]P87)S95]P87)A;65T97)S*%I%3D1?3E5-7T%21U,H*2!44U)-3%-?
M0T,L(")\;'IZ(BP@)FAO=RP@)F%R9S(L("9C=&]R7V%R9W,I*2!["B )"5)%
M5%523E]&04Q313L*0$ @+3$S,3@L-R K,3,T,RPV($! "B )"0EE<G)O<B ]
M(#$["B )"7T*( E]"BT*( EI9B H(65R<F]R*0E["B )"5!$3U]35$U47T-,
M14%27T524B@I.PH@"0E-04M%7U-41%]:5D%,*&1A=&$I.PI 0" M,3,S-"PW
M("LQ,S4X+#(Q($! "B )"7T*( E]"B ):68@*"%E<G)O<BD@>PHM"0EI9B H
M*&AO=R F(%!$3U]&151#2%]'4D]54"DI('L**PD):68@*"AH;W<@)B!01$]?
M1D540TA?6$U,*2D@>PHK"0D)8V]N=F5R=%]T;U]S=')I;F<H<F5T=7)N7W9A
M;'5E*3L**PD)"7-M87)T7W-T<E]A<'!E;F1S*"9X;6QS='(L("(\<F5S=6QT
M<V5T('%U97)Y4W1R:6YG/5PB(BD["BL)"0ES;6%R=%]S=')?87!P96YD;"@F
M>&UL<W1R+"!S=&UT+3YQ=65R>5]S=')I;F<L('-T;70M/G%U97)Y7W-T<FEN
M9VQE;BD["BL)"0ES;6%R=%]S=')?87!P96YD<R@F>&UL<W1R+" B7"(^(BD[
M"BL)"0ED;R!["BL)"0D)<VUA<G1?<W1R7V%P<&5N9',H)GAM;'-T<BP@6E]3
M5%)604Q?4"AD871A*2D["BL)"0D)34%+15]35$1?6E9!3"AD871A*3L**PD)
M"7T@=VAI;&4@*&1O7V9E=&-H*'-T;70L(%12544L(&1A=&$L(&AO=RP@4$1/
M7T9%5$-(7T]225].15A4+" P+" P(%134DU,4U]#0RDI.PHK"0D)"BL)"0ES
M;6%R=%]S=')?87!P96YD<R@F>&UL<W1R+" B/"]R97-U;'1S970^(BD["BL)
M"0ES;6%R=%]S=')?,"@F>&UL<W1R*3L**PD)"5I604Q?4U1224Y'3"AR971U
M<FY?=F%L=64L('AM;'-T<BYC+"!X;6QS='(N;&5N+"
Q*3L**PD)"7-M87)T
M7W-T<E]F<F5E*"9X;6QS='(I.PHK"0E](&5L<V4@:68@*"AH;W<@)B!01$]?
M1D540TA?1U)/55 I*2!["B )"0ED;R!["B )"0D)34%+15]35$1?6E9!3"AD
M871A*3L*( D)"7T@=VAI;&4@*&1O7V9E=&-H*'-T;70L(%12544L(&1A=&$L
M(&AO=RP@4$1/7T9%5$-(7T]225].15A4+" P+"!R971U<FY?86QL(%134DU,
M4U]#0RDI.PID:69F("U.=7(@4$1/+3$N,%)#,2]P:'!?<&1O7V1R:79E<BYH
M('!D;R]P:'!?<&1O7V1R:79E<BYH"BTM+2!01$\M,2XP4D,Q+W!H<%]P9&]?
M9')I=F5R+F@)5V5D($IU;" R," Q,3HS.#HS-" R,# U"BLK*R!P9&\O<&AP
M7W!D;U]D<FEV97(N: E-;VX@3V-T(#(T(#$Y.C$X.C(Y(#(P,#4*0$ @+3DP
M+#8@*SDP+#<@0$ *( E01$]?1D540TA?24Y43RP)"2\J(&9E=&-H(')O=R!I
M;G1O(&%N(&5X:7-T:6YG(&]B:F5C=" J+PH@"5!$3U]&151#2%]&54Y#+ D)
M+RH@9F5T8V@@:6YT;R!F=6YC=&EO;B!A;F0@<F5T=7)N(&ET<R!R97-U;'0@
M*B\*( E01$]?1D540TA?3D%-140L(" @("\J(&QI:V4@4$1/7T9%5$-(7T%3
M4T]#+"!B=70@8V%N(&AA;F1L92!D=7!L:6-A=&4@;F%M97,@*B\**PE01$]?
M1D540TA?6$U,+ D)+RH@9F5T8V@@<F]W(&EN=&\@>&UL(&9O<FUA=" J+PH@
I"5!$3U]&151#2%]?34%8("\J(&UU<W0@8F4@;&%S=" J+PH@?3L*( H`
`
end