summaryrefslogtreecommitdiff
path: root/ext/mysqli/mysqli_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mysqli/mysqli_api.c')
-rw-r--r--ext/mysqli/mysqli_api.c46
1 files changed, 6 insertions, 40 deletions
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c
index 3c1be87314..e958434f31 100644
--- a/ext/mysqli/mysqli_api.c
+++ b/ext/mysqli/mysqli_api.c
@@ -149,7 +149,7 @@ PHP_FUNCTION(mysqli_stmt_bind_param)
break;
case 'b': /* Blob (send data) */
- bind[ofs].buffer_type = MYSQL_TYPE_VAR_STRING;
+ bind[ofs].buffer_type = MYSQL_TYPE_LONG_BLOB;
bind[ofs].is_null = 0;
bind[ofs].length = 0;
break;
@@ -182,7 +182,7 @@ PHP_FUNCTION(mysqli_stmt_bind_param)
stmt->param.var_cnt = num_vars;
stmt->param.vars = (zval **)safe_emalloc(num_vars, sizeof(zval), 0);
for (i = 0; i < num_vars; i++) {
- if (bind[i].buffer_type != MYSQLI_BIND_SEND_DATA) {
+ if (bind[i].buffer_type != MYSQL_TYPE_LONG_BLOB) {
ZVAL_ADDREF(*args[i+start]);
stmt->param.vars[i] = *args[i+start];
} else {
@@ -564,6 +564,7 @@ PHP_FUNCTION(mysqli_stmt_execute)
MYSQLI_REPORT_STMT_ERROR(stmt->stmt);
RETURN_FALSE;
}
+
if (MyG(report_mode) & MYSQLI_REPORT_INDEX) {
php_mysqli_report_index(stmt->query, stmt->stmt->mysql->server_status TSRMLS_CC);
}
@@ -837,7 +838,7 @@ PHP_FUNCTION(mysqli_field_seek)
MYSQLI_FETCH_RESOURCE(result, MYSQL_RES *, &mysql_result, "mysqli_result");
if (fieldnr < 0 || fieldnr >= mysql_num_fields(result)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Field offset is invalid for resultset");
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Function cannot be used with MYSQL_USE_RESULT");
RETURN_FALSE;
}
@@ -1305,12 +1306,10 @@ PHP_FUNCTION(mysqli_real_connect)
if (mysql_real_connect(mysql->mysql,hostname,username,passwd,dbname,port,socket,flags) == NULL) {
- MYSQLI_REPORT_MYSQL_ERROR(mysql->mysql);
php_mysqli_set_error(mysql_errno(mysql->mysql), (char *) mysql_error(mysql->mysql) TSRMLS_CC);
+ php_mysqli_throw_sql_exception( mysql->mysql->net.sqlstate, mysql->mysql->net.last_errno TSRMLS_CC,
+ mysql->mysql->net.last_error);
- if (!(MyG(report_mode) & MYSQLI_REPORT_ERROR)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", mysql_error(mysql->mysql));
- }
RETURN_FALSE;
}
php_mysqli_set_error(mysql_errno(mysql->mysql), (char *)mysql_error(mysql->mysql) TSRMLS_CC);
@@ -1422,39 +1421,6 @@ PHP_FUNCTION(mysqli_stmt_send_long_data)
}
/* }}} */
-#ifdef HAVE_EMBEDDED_MYSQLI
-/* {{{ proto bool mysqli_server_init(void)
- initialize embedded server */
-PHP_FUNCTION(mysqli_server_init)
-{
- zval *server;
- zval *groups;
-
- if (MyG(embedded)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Embedded server already initialized.");
- RETURN_FALSE;
- }
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|aa", &server, &groups) == FAILURE) {
- return;
- }
-
- if (mysql_server_init(0, NULL, NULL)) {
- RETURN_FALSE;
- }
- MyG(embedded) = 1;
- RETURN_TRUE;
-}
-/* }}} */
-
-/* {{{ proto void mysqli_server_end(void)
-*/
-PHP_FUNCTION(mysqli_server_end)
-{
- mysql_server_end();
-}
-/* }}} */
-#endif
/* {{{ proto mixed mysqli_stmt_affected_rows(object stmt)
Return the number of rows affected in the last query for the given link */