mirror of
https://github.com/php/php-src.git
synced 2025-08-16 22:18:50 +02:00
Add $dbh->exec() method.
Rename $dbh->beginWork() to $dbh->beginTransaction().
This commit is contained in:
parent
a0b3e87003
commit
6cd27ff8be
2 changed files with 32 additions and 4 deletions
|
@ -157,9 +157,9 @@ static PHP_METHOD(PDO, prepare)
|
||||||
RETURN_FALSE;
|
RETURN_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* {{{ proto bool PDO::beginWork()
|
/* {{{ proto bool PDO::beginTransaction()
|
||||||
Initiates a transaction */
|
Initiates a transaction */
|
||||||
static PHP_METHOD(PDO, beginWork)
|
static PHP_METHOD(PDO, beginTransaction)
|
||||||
{
|
{
|
||||||
pdo_dbh_t *dbh = zend_object_store_get_object(getThis() TSRMLS_CC);
|
pdo_dbh_t *dbh = zend_object_store_get_object(getThis() TSRMLS_CC);
|
||||||
|
|
||||||
|
@ -257,13 +257,41 @@ fail:
|
||||||
}
|
}
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
||||||
|
/* {{{ proto bool PDO::exec(string query)
|
||||||
|
Execute a query that does not return a row set */
|
||||||
|
static PHP_METHOD(PDO, exec)
|
||||||
|
{
|
||||||
|
pdo_dbh_t *dbh = zend_object_store_get_object(getThis() TSRMLS_CC);
|
||||||
|
pdo_stmt_t *stmt;
|
||||||
|
char *statement;
|
||||||
|
long statement_len;
|
||||||
|
int rows;
|
||||||
|
|
||||||
|
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &statement, &statement_len)) {
|
||||||
|
RETURN_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!statement_len) {
|
||||||
|
RETURN_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
rows = dbh->methods->doer(dbh, statement, statement_len TSRMLS_CC);
|
||||||
|
|
||||||
|
if (rows >= 0) {
|
||||||
|
RETURN_LONG(rows);
|
||||||
|
}
|
||||||
|
|
||||||
|
RETURN_FALSE;
|
||||||
|
}
|
||||||
|
/* }}} */
|
||||||
|
|
||||||
function_entry pdo_dbh_functions[] = {
|
function_entry pdo_dbh_functions[] = {
|
||||||
PHP_ME(PDO, prepare, NULL, ZEND_ACC_PUBLIC)
|
PHP_ME(PDO, prepare, NULL, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME(PDO, beginWork, NULL, ZEND_ACC_PUBLIC)
|
PHP_ME(PDO, beginTransaction,NULL, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME(PDO, commit, NULL, ZEND_ACC_PUBLIC)
|
PHP_ME(PDO, commit, NULL, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME(PDO, rollBack, NULL, ZEND_ACC_PUBLIC)
|
PHP_ME(PDO, rollBack, NULL, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME(PDO, setAttribute, NULL, ZEND_ACC_PUBLIC)
|
PHP_ME(PDO, setAttribute, NULL, ZEND_ACC_PUBLIC)
|
||||||
|
PHP_ME(PDO, exec, NULL, ZEND_ACC_PUBLIC)
|
||||||
|
|
||||||
{NULL, NULL, NULL}
|
{NULL, NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
|
@ -99,7 +99,7 @@ typedef int (*pdo_dbh_close_func)(pdo_dbh_t *dbh TSRMLS_DC);
|
||||||
typedef int (*pdo_dbh_prepare_func)(pdo_dbh_t *dbh, const char *sql, long sql_len, pdo_stmt_t *stmt, long options, zval *driver_options TSRMLS_DC);
|
typedef int (*pdo_dbh_prepare_func)(pdo_dbh_t *dbh, const char *sql, long sql_len, pdo_stmt_t *stmt, long options, zval *driver_options TSRMLS_DC);
|
||||||
|
|
||||||
/* execute a statement (that does not return a result set) */
|
/* execute a statement (that does not return a result set) */
|
||||||
typedef int (*pdo_dbh_do_func)(pdo_dbh_t *dbh, const char *sql TSRMLS_DC);
|
typedef int (*pdo_dbh_do_func)(pdo_dbh_t *dbh, const char *sql, int sql_len TSRMLS_DC);
|
||||||
|
|
||||||
/* quote a string */
|
/* quote a string */
|
||||||
typedef int (*pdo_dbh_quote_func)(pdo_dbh_t *dbh, const char *unquoted, int unquotedlen, char **quoted, int *quotedlen TSRMLS_DC);
|
typedef int (*pdo_dbh_quote_func)(pdo_dbh_t *dbh, const char *unquoted, int unquotedlen, char **quoted, int *quotedlen TSRMLS_DC);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue