Sergey Tsalkov and GitHub
6e1c252702
Update README.md
2019-01-26 10:23:50 -06:00
Sergey Tsalkov
8e19d9d6c3
bugfix in WhereClause: negate didn't wrap multiple clauses in extra parens
...
Fixes #41
2017-10-15 19:10:35 +00:00
Sergey Tsalkov
22e49b280e
clarify that project is LGPLv3
2017-10-15 18:20:37 +00:00
Sergey Tsalkov
b41887505d
fix to last commit
2017-10-15 17:56:10 +00:00
Sergey Tsalkov and GitHub
aabc77b116
Update README.md
2016-11-21 17:01:59 -08:00
Sergey Tsalkov
8bef6d6618
fix bug with hhvm
2015-03-04 00:43:54 +00:00
Sergey Tsalkov
da46a1eacc
DB::insert() and the like should use __toString() value for objects whenever possible
2014-11-27 01:30:42 +00:00
Sergey Tsalkov
076a7e2b9b
oops
2014-10-27 02:02:32 +00:00
Sergey Tsalkov
67b24c916d
additional test with %li0
2014-10-27 02:00:21 +00:00
Sergey Tsalkov
29c8e42a09
escape and sanitize could be occasionally useful as public functions
2014-10-27 02:00:21 +00:00
Sergey Tsalkov
6fdcffab24
few minor cleanups to last commit
2014-10-27 02:00:21 +00:00
Sergey Tsalkov
e0660a9368
%? no longer handles arrays and hashes for security purposes
...
those are moved into %l?, %ll?, %hc, %ha, %ho for different uses
2014-10-27 02:00:21 +00:00
Sergey Tsalkov
0474a41a56
functions generally shouldn't keep going after a nonsql error
2014-10-27 02:00:21 +00:00
Sergey Tsalkov
1fe2fdea16
when an instance of MeekroDB is created, its default settings will be those of the static instance
2014-10-27 02:00:20 +00:00
Sergey Tsalkov
83256937b8
make some useful functions public
2014-08-25 20:20:39 -07:00
Sergey Tsalkov
eb36858f1a
columnList() properly escapes table names
2014-06-16 22:40:22 +00:00
Sergey Tsalkov
1d797b306e
bugfix: insert/update type functions don't break when using a param_char other than %
2014-06-14 02:41:06 +00:00
Sergey Tsalkov
7c819bfc24
the connect_options variable lets you set mysqli_options, like a connection timeout
2014-06-14 01:58:51 +00:00
Sergey Tsalkov
1d147e169a
ssl support (still untested)
2014-06-14 01:31:32 +00:00
Sergey Tsalkov
391702700d
clean up static class init syntax a bit
2014-06-14 01:06:05 +00:00
Sergey Tsalkov
37fd169be3
minor bugfix: don't assume that the query results for queryFirstRow() or queryFirstList() will be an array (can also be a bool)
2014-06-14 00:27:38 +00:00
Sergey Tsalkov
7c5c03c576
minor cleanups
2014-06-13 21:19:10 +00:00
Sergey Tsalkov
a0a2f702e2
bugfix: don't crash if nested transactions are enabled, and the first command issued is a start transaction
2014-03-31 01:50:10 -07:00
Sergey Tsalkov
2707bcba7d
minor bugfix: don't drop identical query components in WhereClause (thanks Alexander!)
2013-12-06 11:17:54 -08:00
Sergey Tsalkov
7b0da839de
add yet another test for this weird bug people are reporting
...
tests *still* all pass, I can't reproduce the bug
2013-11-08 14:14:46 -08:00
Sergey Tsalkov
1d51c2b674
add additional test case for a reported bug where '%s' in data is parsed as a query placeholder
...
I can't reproduce the bug
2013-09-13 22:36:33 -07:00
SergeyTsalkov
de63573e98
Merge pull request #14 from bcash/master
...
Added passthru of mysqli error code to MeekroDBException object
2013-06-30 01:31:12 -07:00
Sergey Tsalkov
e403c774c8
Merge branch 'master' of github.com:SergeyTsalkov/meekrodb
2013-06-21 16:27:25 -07:00
Sergey Tsalkov
740ca7bc67
restore %ss to working, add unit test so it won't break again
2013-06-21 16:27:05 -07:00
SergeyTsalkov
7563c660ad
Update readme to include brief installation section
2013-06-09 17:08:20 -06:00
Sergey Tsalkov
3741291f44
add a few more fields to composer.json
2013-06-08 13:55:16 -07:00
Sergey Tsalkov
7e00296b32
add license to composer file
2013-06-08 13:38:26 -07:00
Sergey Tsalkov
e2e95adda2
composer fix
2013-06-08 13:32:01 -07:00
Sergey Tsalkov
34a3de3f84
add composer.json for composer support -- not yet tested
2013-06-08 13:28:27 -07:00
Sergey Tsalkov
cc8dbe47eb
%i should allow big ints on 32 bit systems
2013-06-07 00:03:30 -07:00
SergeyTsalkov
8090f4e7dc
Update README.md
2013-06-05 00:19:36 -07:00
SergeyTsalkov
58e564c3d5
Update README.md
2013-06-05 01:08:41 -06:00
Sergey Tsalkov
253e803160
WhereClause can't have a __toString() method anymore because of how it's handled in combinatino with preparseQueryParams() now
2013-06-05 00:01:10 -07:00
SergeyTsalkov
c05a575be0
Create README.md
2013-06-05 01:01:08 -06:00
Sergey Tsalkov
e61d66fdf8
new DateTime() can be used with insert-like commands, and with %? as well
2013-06-02 19:45:44 -07:00
Sergey Tsalkov
e9a55de0b4
DB::$usenull param can be used to decide whether insert()-like commands insert NULL or empty string for NULL
2013-06-02 19:22:14 -07:00
Sergey Tsalkov
9e4cbc28c1
%t and %lt variables can be used to hold a datetime, which will be formatted to mysql standards
2013-06-02 19:10:28 -07:00
Sergey Tsalkov
b6397a719c
merge freeResult and checkError functions back into queryHelper() since they're only used once
2013-06-02 18:17:59 -07:00
Sergey Tsalkov
65ec35c591
modify WhereClause to hold off on evaluating parameters
...
preparseQueryParams will now receive full WhereClause object and evaluate there
2013-06-02 15:51:58 -07:00
Sergey Tsalkov
1d61a11098
add %? autodetection parameter, simplify functions such as insert() and update() to rely on it
2013-06-02 15:17:14 -07:00
Sergey Tsalkov
ecd5fe190f
clean up query parsing code -- will be necessary for transition to prepared statement approach
2013-06-02 12:52:04 -07:00
Sergey Tsalkov
e94f75fe2a
DB::disconnect() allows easy disconnecting from mysql
2013-03-19 12:02:47 -07:00
Sergey Tsalkov
ce11e65070
successful insert/replace/update/delete will return true
2013-03-19 11:31:50 -07:00
Sergey Tsalkov
6cb757797b
minor fix for calculated columns with fullcolumns
2013-03-19 11:20:20 -07:00
Sergey Tsalkov
027e1529ba
create DB::queryFullColumns() which will supply full column names in the format table.column
2013-02-22 22:11:27 -08:00
Sergey Tsalkov
e03ac71b45
more organization and simplification
...
add queryAllLists() and queryRawUnbuf() methods
2013-02-22 21:28:41 -08:00
Sergey Tsalkov
f89d70e49e
bugfix: can use null value for named or numbered parameters
2013-02-22 16:32:15 -08:00
Sergey Tsalkov
6babe98b11
bugfix: free any extra results so CALL commands don't fail
2013-02-22 16:18:18 -08:00
Sergey Tsalkov
039468f3a3
more cleanups and remove old and unused code
2013-02-22 15:08:08 -08:00
Sergey Tsalkov
5e9507181f
code cleanups
2013-02-22 12:37:11 -08:00
Sergey Tsalkov
7364df36cf
include a formatting error if they pass an array where we're not expecting one
2013-02-22 11:52:18 -08:00
Sergey Tsalkov
7df5c9baa2
update copyright year
2012-09-20 21:05:19 -07:00
Sergey Tsalkov
ed347e841a
verticalslice and reindex cleanups and tests
2012-09-20 20:50:05 -07:00
Sergey Tsalkov
2ffb770f8a
bugfix: don't fail when inserting multiple rows at once, and one of the values is NULL
2012-09-19 14:58:09 -07:00
Sergey Tsalkov
ed9c29fe49
add DB::transactionDepth() for checking how many transactions are active
...
when not using nested transactions, will return 1 or 0
2012-09-18 21:08:28 -07:00
Sergey Tsalkov
9a41bf34a1
a few nested transaction cleanups
...
functionality for committing/rolling back all active transactions
2012-09-18 20:54:39 -07:00
Sergey Tsalkov
24c1b930df
add DBHelper class with functions verticalSlice and reIndex
2012-09-18 20:13:43 -07:00
Sergey Tsalkov
d40bc57dde
add nested transactions (mysql >= 5.5 only)
2012-09-18 19:08:37 -07:00
Sergey Tsalkov
c62fc187ee
quick testing change
2012-09-09 17:31:57 -07:00
Sergey Tsalkov
6b324d1291
using $where is now equivalent to $where->text()
2012-09-09 14:49:43 -07:00
Sergey Tsalkov
5b4e5a959a
fix named parameters
2012-07-22 17:43:34 -07:00
Sergey Tsalkov
7582961ee1
named parameters for queries
2012-07-22 17:29:59 -07:00
Sergey Tsalkov
2d49f4f350
remove backtrace from default error message -- it can leak private information
2012-07-08 13:04:57 -07:00
Sergey Tsalkov
9930fc073a
restore %lb parameter to working, add unit test so it doesn't break again
2012-02-03 17:19:54 -08:00
Sergey Tsalkov
788c506f16
success handler gets "affected" var for affected rows
2012-01-25 13:59:42 -08:00
Sergey Tsalkov
bbf9534326
add execution time to tests
2011-12-24 17:27:53 -08:00
Sergey Tsalkov
1d5844bcc0
major redesign to enable multiple instances via "new MeekroDB()" while preserving full backwards
...
compatability
static methods DB::whatever() will still be the recommended method of use, but the new object oriented
approach is now available to those who want it
2011-12-24 16:12:13 -08:00
Sergey Tsalkov
34c0f5e0a7
add E_STRICT to tests
2011-12-24 13:07:44 -08:00
Sergey Tsalkov
7825f90080
can now refer to a specific argument in a query
...
e.g. %s2 for the third argument, taken as a string
2011-12-17 19:54:55 -08:00
Sergey Tsalkov
a1f01a4f87
few more fixes and tests for WhereClause
2011-09-23 22:03:15 -07:00
Sergey Tsalkov
80cc78edcd
insertUpdate() can now handle a second array for the update component, or nothing, so it'll
...
re-use the insert array for the update component
2011-09-23 21:29:40 -07:00
Sergey Tsalkov
5050205e58
add insertUpdate() function for "insert ... on duplicate key update" behavior
2011-09-23 19:15:41 -07:00
Sergey Tsalkov
9f3aa571dc
add some simple tests for the WhereClause system, which will now be official and documented
2011-09-23 18:44:34 -07:00
Sergey Tsalkov
a2800ef04b
add insertIgnore() function -- pretty self explanatory
2011-09-23 16:11:10 -07:00
Sergey Tsalkov
164c7157a6
queryRaw() will now be officially supported, returns mysqli_result instead of array of assoc
...
arrays
2011-09-23 15:57:36 -07:00
Sergey Tsalkov
f09308a3f7
re-organize test files, make it easy to test for both php 5.2 and 5.3
2011-09-23 15:51:35 -07:00
Sergey Tsalkov
69bfe15ebb
add test case regarding BLOBs
2011-08-25 23:54:52 -07:00
Sergey Tsalkov
7621b50a02
handle non-sql errors (such as failure to connect to MySQL server) in a user-defined way
...
adds DB::$nonsql_error_handler and DB::$throw_exception_on_nonsql_error
2011-08-25 23:34:37 -07:00
Sergey Tsalkov
4122fe52c1
collapse some redundant code into a function
2011-06-02 18:57:46 -04:00
Sergey Tsalkov
8072f6ab07
use static class variable, not static function variable, to hold mysql connection
2011-06-01 17:30:28 -04:00
Sergey Tsalkov
860da8d18a
insert(), replace(), and update() now handle the value NULL correctly
2011-05-31 21:50:24 -04:00
Sergey Tsalkov
0ed2837f3d
on second thought, we won't have insertMany() and replaceMany(), but insert() and replace()
...
will figure out which one you mean
this means that a minor undocumented feature, being able to insert an array and have it
automatically serialized, can't exist anymore
2011-04-29 01:48:27 -04:00
Sergey Tsalkov
65cae974c5
remove unused variable
2011-04-28 18:51:53 -04:00
Sergey Tsalkov
96892fa6c2
DB::$param_char can now be used to change the char that needs to appear in front of params (% is the default)
2011-04-28 18:41:13 -04:00
Sergey Tsalkov
ad4889da09
revert last commit -- this is a bad way to do it, and I'll have to come up with something else
...
to let people use strings like %i in their SQL and bypass the parser
2011-04-28 18:14:59 -04:00
Sergey Tsalkov
12604d7854
bugfix: let people have literal %'s in their queries without confusing the parser
...
by using %% instead
2011-04-23 20:31:18 -04:00
Sergey Tsalkov
8c5299c2e2
* add insertMany() and replaceMany() to let you do multiple inserts in one SQL command
...
* error and success handlers can now be set to static and object methods
2011-04-23 00:46:51 -04:00
Sergey Tsalkov
964a36e4c2
sqleval() can now be used with %s, %i, and all that good stuff
...
there is probably no good reason to do this, as things like md5() can be done
from PHP, but people keep asking for it, so here it is :)
2011-04-22 23:29:09 -04:00
Sergey Tsalkov
68774532e1
add delete() function -- mostly for completeness with insert(), update(), etc
2011-04-22 23:15:14 -04:00
Sergey Tsalkov
2985815750
* add tests for tableList() and columnList() -- those are now supported functions
...
* remove some unused code, minor cleanup
2011-04-22 23:03:37 -04:00
Sergey Tsalkov
4faebb957c
add DB::sqleval() -- can be used with insert() and update() to inject raw sql stuff like NOW()
2011-04-08 13:56:28 -04:00
Sergey Tsalkov
819acb9bff
use fetch_row and not fetch_assoc for queryFirstField and queryFirstColumn -- it should be a bit faster
2011-03-30 13:29:23 -04:00
Sergey Tsalkov
449760eb2a
set the character encoding in the "more proper" way, as recommended by the mysqli manual
2011-03-17 13:14:39 -04:00
Sergey Tsalkov
74feeb6513
now you can use DB::$success_handler to replace the "debug mode" handler in the same way that you can
...
replace the error handler
2011-03-15 16:03:56 -04:00
Sergey Tsalkov
c14c69ffa7
let user specify port with DB::$port -- defaults to mysqli.default_port from the php config (probably 3306)
2011-03-15 14:42:58 -04:00