Added a convenience method to run a query and fetch a single column from the first row
Ensure the Exception class is used from the root namespace
Added another missing variable declaration
Use static rather than self to take advantage of late static binding
Provide basic protection for string literals
When modifying parts of the query, we now attempt to identify string literals and ignore them, this is only a basic check which will not work with escaped single quotes, in this case the string literal should be passed as a parameter then it will not be modifed by the sql class
Added a vendor name to the namespace
Added phpunit test cases
Allow parameters to be named
This allows them to be reused in a query without having a duplicated element in the parameters array
It also makes it clearer to see which parameter is used where in the query