… | |
… | |
44 | use DBI (); |
44 | use DBI (); |
45 | |
45 | |
46 | BEGIN { |
46 | BEGIN { |
47 | use base qw(Exporter DynaLoader); |
47 | use base qw(Exporter DynaLoader); |
48 | |
48 | |
49 | $VERSION = 0.1242; |
49 | $VERSION = 0.13; |
50 | @EXPORT = qw( |
50 | @EXPORT = qw( |
51 | sql_exec sql_fetch sql_fetchall sql_exists sql_insertid $sql_exec |
51 | sql_exec sql_fetch sql_fetchall sql_exists sql_insertid $sql_exec |
52 | sql_uexec sql_ufetch sql_ufetchall sql_uexists |
52 | sql_uexec sql_ufetch sql_ufetchall sql_uexists |
53 | ); |
53 | ); |
54 | @EXPORT_OK = qw( |
54 | @EXPORT_OK = qw( |
… | |
… | |
69 | =over 4 |
69 | =over 4 |
70 | |
70 | |
71 | =item $sql_exec |
71 | =item $sql_exec |
72 | |
72 | |
73 | Since the C<sql_exec> family of functions return a statement handle there |
73 | Since the C<sql_exec> family of functions return a statement handle there |
74 | must eb another way to test the return value of the C<execute> call. This |
74 | must be another way to test the return value of the C<execute> call. This |
75 | global variable contains the result of the most recent call to C<execute> |
75 | global variable contains the result of the most recent call to C<execute> |
76 | done by this module. |
76 | done by this module. |
77 | |
77 | |
78 | =item $PApp::SQL::DBH |
78 | =item $PApp::SQL::DBH |
79 | |
79 | |
… | |
… | |
111 | __LINE__ work fine as well). |
111 | __LINE__ work fine as well). |
112 | |
112 | |
113 | The reason C<$id> is necessary is that you might specify special connect |
113 | The reason C<$id> is necessary is that you might specify special connect |
114 | arguments or special flags, or you might want to configure your $DBH |
114 | arguments or special flags, or you might want to configure your $DBH |
115 | differently than maybe other applications requesting the same database |
115 | differently than maybe other applications requesting the same database |
116 | connection. If none of this is becessary for your application you can |
116 | connection. If none of this is necessary for your application you can |
117 | leave $id empty (i.e. ""). |
117 | leave C<$id> empty (i.e. ""). |
118 | |
118 | |
119 | If specified, C<$connect> is a callback (e.g. a coderef) that will be |
119 | If specified, C<$connect> is a callback (e.g. a coderef) that will be |
120 | called each time a new connection is being established, with the new |
120 | called each time a new connection is being established, with the new |
121 | C<$dbh> as first argument. |
121 | C<$dbh> as first argument. |
122 | |
122 | |
… | |
… | |
220 | my($name, $amount) = sql_fetch "select ...", args... |
220 | my($name, $amount) = sql_fetch "select ...", args... |
221 | |
221 | |
222 | ... and it's still quite fast unless you fetch large amounts of data. |
222 | ... and it's still quite fast unless you fetch large amounts of data. |
223 | |
223 | |
224 | C<sql_ufetch> is similar to C<sql_fetch> but upgrades all input values to |
224 | C<sql_ufetch> is similar to C<sql_fetch> but upgrades all input values to |
225 | utf8 and forces all result values to utf8. |
225 | utf8 and forces all result values to utf8 (this does I<not> include result |
|
|
226 | parameters, only return values. Using bind variables in cinjunction with |
|
|
227 | sql_u* functions results in undefined behaviour). |
226 | |
228 | |
227 | =item sql_fetchall <see sql_exec> |
229 | =item sql_fetchall <see sql_exec> |
228 | |
230 | |
229 | =item sql_ufetchall <see sql_uexec> |
231 | =item sql_ufetchall <see sql_uexec> |
230 | |
232 | |
… | |
… | |
247 | for (sql_fetchall "select name, age, place from user") { |
249 | for (sql_fetchall "select name, age, place from user") { |
248 | my ($name, $age, $place) = @$_; |
250 | my ($name, $age, $place) = @$_; |
249 | } |
251 | } |
250 | |
252 | |
251 | C<sql_ufetchall> is similar to C<sql_fetchall> but upgrades all input |
253 | C<sql_ufetchall> is similar to C<sql_fetchall> but upgrades all input |
252 | values to utf8 and forces all result values to utf8. |
254 | values to utf8 and forces all result values to utf8 (see the caveats in |
|
|
255 | the description of C<sql_ufetch>, though). |
253 | |
256 | |
254 | =item sql_exists "<table_references> where <where_condition>...", args... |
257 | =item sql_exists "<table_references> where <where_condition>...", args... |
255 | |
258 | |
256 | =item sql_uexists <see sql_exists> |
259 | =item sql_uexists <see sql_exists> |
257 | |
260 | |