version 1.1.1.1, 2012/02/21 23:47:58
|
version 1.1.1.2, 2012/05/29 12:34:41
|
Line 252 static const zend_function_entry mysql_functions[] = {
|
Line 252 static const zend_function_entry mysql_functions[] = {
|
PHP_FE(mysql_query, arginfo_mysql_query) |
PHP_FE(mysql_query, arginfo_mysql_query) |
PHP_FE(mysql_unbuffered_query, arginfo_mysql_query) |
PHP_FE(mysql_unbuffered_query, arginfo_mysql_query) |
PHP_DEP_FE(mysql_db_query, arginfo_mysql_db_query) |
PHP_DEP_FE(mysql_db_query, arginfo_mysql_db_query) |
PHP_FE(mysql_list_dbs, arginfo__optional_mysql_link) | PHP_DEP_FE(mysql_list_dbs, arginfo__optional_mysql_link) |
PHP_DEP_FE(mysql_list_tables, arginfo_mysql_select_db) |
PHP_DEP_FE(mysql_list_tables, arginfo_mysql_select_db) |
PHP_FE(mysql_list_fields, arginfo_mysql_list_fields) |
PHP_FE(mysql_list_fields, arginfo_mysql_list_fields) |
PHP_FE(mysql_list_processes, arginfo__optional_mysql_link) |
PHP_FE(mysql_list_processes, arginfo__optional_mysql_link) |
Line 529 static PHP_GINIT_FUNCTION(mysql)
|
Line 529 static PHP_GINIT_FUNCTION(mysql)
|
} |
} |
/* }}} */ |
/* }}} */ |
|
|
|
#ifdef MYSQL_USE_MYSQLND |
|
#include "ext/mysqlnd/mysqlnd_reverse_api.h" |
|
static MYSQLND * mysql_convert_zv_to_mysqlnd(zval * zv TSRMLS_DC) |
|
{ |
|
php_mysql_conn *mysql; |
|
|
|
if (Z_TYPE_P(zv) != IS_RESOURCE) { |
|
/* Might be nicer to check resource type, too, but ext/mysql is the only one using resources so emitting an error is not to bad, while usually this hook should be silent */ |
|
return NULL; |
|
} |
|
|
|
mysql = (php_mysql_conn *)zend_fetch_resource(&zv TSRMLS_CC, -1, "MySQL-Link", NULL, 2, le_link, le_plink); |
|
|
|
if (!mysql) { |
|
return NULL; |
|
} |
|
|
|
return mysql->conn; |
|
} |
|
|
|
static MYSQLND_REVERSE_API mysql_reverse_api = { |
|
&mysql_module_entry, |
|
mysql_convert_zv_to_mysqlnd |
|
}; |
|
#endif |
|
|
/* {{{ PHP_MINIT_FUNCTION |
/* {{{ PHP_MINIT_FUNCTION |
*/ |
*/ |
ZEND_MODULE_STARTUP_D(mysql) |
ZEND_MODULE_STARTUP_D(mysql) |
Line 557 ZEND_MODULE_STARTUP_D(mysql)
|
Line 583 ZEND_MODULE_STARTUP_D(mysql)
|
#endif |
#endif |
#endif |
#endif |
|
|
|
#ifdef MYSQL_USE_MYSQLND |
|
mysqlnd_reverse_api_register_api(&mysql_reverse_api TSRMLS_CC); |
|
#endif |
|
|
return SUCCESS; |
return SUCCESS; |
} |
} |
/* }}} */ |
/* }}} */ |
Line 735 static void php_mysql_do_connect(INTERNAL_FUNCTION_PAR
|
Line 765 static void php_mysql_do_connect(INTERNAL_FUNCTION_PAR
|
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "SQL safe mode in effect - ignoring host/user/password information"); |
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "SQL safe mode in effect - ignoring host/user/password information"); |
} |
} |
host_and_port=passwd=NULL; |
host_and_port=passwd=NULL; |
user=php_get_current_user(); | user=php_get_current_user(TSRMLS_C); |
hashed_details_length = spprintf(&hashed_details, 0, "mysql__%s_", user); |
hashed_details_length = spprintf(&hashed_details, 0, "mysql__%s_", user); |
client_flags = CLIENT_INTERACTIVE; |
client_flags = CLIENT_INTERACTIVE; |
} else { |
} else { |
Line 1579 PHP_FUNCTION(mysql_list_dbs)
|
Line 1609 PHP_FUNCTION(mysql_list_dbs)
|
id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU); |
id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU); |
CHECK_LINK(id); |
CHECK_LINK(id); |
} |
} |
|
php_error_docref(NULL TSRMLS_CC, E_DEPRECATED, "This function is deprecated; use mysql_query() with SHOW DATABASES instead"); |
|
|
ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink); |
ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink); |
|
|
PHPMY_UNBUFFERED_QUERY_CHECK(); |
PHPMY_UNBUFFERED_QUERY_CHECK(); |
|
|
|
|
if ((mysql_result=mysql_list_dbs(mysql->conn, NULL))==NULL) { |
if ((mysql_result=mysql_list_dbs(mysql->conn, NULL))==NULL) { |
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to save MySQL query result"); |
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to save MySQL query result"); |
RETURN_FALSE; |
RETURN_FALSE; |
Line 1811 PHP_FUNCTION(mysql_escape_string)
|
Line 1843 PHP_FUNCTION(mysql_escape_string)
|
Z_STRLEN_P(return_value) = mysql_escape_string(Z_STRVAL_P(return_value), str, str_len); |
Z_STRLEN_P(return_value) = mysql_escape_string(Z_STRVAL_P(return_value), str, str_len); |
Z_TYPE_P(return_value) = IS_STRING; |
Z_TYPE_P(return_value) = IS_STRING; |
|
|
if (MySG(trace_mode)){ | php_error_docref("function.mysql-real-escape-string" TSRMLS_CC, E_DEPRECATED, "This function is deprecated; use mysql_real_escape_string() instead."); |
php_error_docref("function.mysql-real-escape-string" TSRMLS_CC, E_DEPRECATED, "This function is deprecated; use mysql_real_escape_string() instead."); | |
} | |
} |
} |
/* }}} */ |
/* }}} */ |
|
|
Line 1959 Q: String or long first?
|
Line 1989 Q: String or long first?
|
if (sql_row[field_offset]) { |
if (sql_row[field_offset]) { |
Z_TYPE_P(return_value) = IS_STRING; |
Z_TYPE_P(return_value) = IS_STRING; |
|
|
|
#if PHP_API_VERSION < 20100412 |
if (PG(magic_quotes_runtime)) { |
if (PG(magic_quotes_runtime)) { |
Z_STRVAL_P(return_value) = php_addslashes(sql_row[field_offset], sql_row_lengths[field_offset],&Z_STRLEN_P(return_value), 0 TSRMLS_CC); |
Z_STRVAL_P(return_value) = php_addslashes(sql_row[field_offset], sql_row_lengths[field_offset],&Z_STRLEN_P(return_value), 0 TSRMLS_CC); |
} else { |
} else { |
|
#endif |
Z_STRLEN_P(return_value) = sql_row_lengths[field_offset]; |
Z_STRLEN_P(return_value) = sql_row_lengths[field_offset]; |
Z_STRVAL_P(return_value) = (char *) safe_estrndup(sql_row[field_offset], Z_STRLEN_P(return_value)); |
Z_STRVAL_P(return_value) = (char *) safe_estrndup(sql_row[field_offset], Z_STRLEN_P(return_value)); |
|
#if PHP_API_VERSION < 20100412 |
} |
} |
|
#endif |
} else { |
} else { |
Z_TYPE_P(return_value) = IS_NULL; |
Z_TYPE_P(return_value) = IS_NULL; |
} |
} |
Line 2082 static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PAR
|
Line 2116 static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PAR
|
|
|
MAKE_STD_ZVAL(data); |
MAKE_STD_ZVAL(data); |
|
|
|
#if PHP_API_VERSION < 20100412 |
if (PG(magic_quotes_runtime)) { |
if (PG(magic_quotes_runtime)) { |
Z_TYPE_P(data) = IS_STRING; |
Z_TYPE_P(data) = IS_STRING; |
Z_STRVAL_P(data) = php_addslashes(mysql_row[i], mysql_row_lengths[i], &Z_STRLEN_P(data), 0 TSRMLS_CC); |
Z_STRVAL_P(data) = php_addslashes(mysql_row[i], mysql_row_lengths[i], &Z_STRLEN_P(data), 0 TSRMLS_CC); |
} else { |
} else { |
|
#endif |
ZVAL_STRINGL(data, mysql_row[i], mysql_row_lengths[i], 1); |
ZVAL_STRINGL(data, mysql_row[i], mysql_row_lengths[i], 1); |
|
#if PHP_API_VERSION < 20100412 |
} |
} |
|
#endif |
|
|
if (result_type & MYSQL_NUM) { |
if (result_type & MYSQL_NUM) { |
add_index_zval(return_value, i, data); |
add_index_zval(return_value, i, data); |
Line 2378 PHP_FUNCTION(mysql_fetch_field)
|
Line 2416 PHP_FUNCTION(mysql_fetch_field)
|
} |
} |
object_init(return_value); |
object_init(return_value); |
|
|
add_property_string(return_value, "name", (char *) (mysql_field->name?mysql_field->name:""), 1); | add_property_string(return_value, "name",(mysql_field->name?mysql_field->name:""), 1); |
add_property_string(return_value, "table",(char *) (mysql_field->table?mysql_field->table:""), 1); | add_property_string(return_value, "table",(mysql_field->table?mysql_field->table:""), 1); |
add_property_string(return_value, "def",(mysql_field->def?mysql_field->def:""), 1); |
add_property_string(return_value, "def",(mysql_field->def?mysql_field->def:""), 1); |
add_property_long(return_value, "max_length", mysql_field->max_length); |
add_property_long(return_value, "max_length", mysql_field->max_length); |
add_property_long(return_value, "not_null", IS_NOT_NULL(mysql_field->flags)?1:0); |
add_property_long(return_value, "not_null", IS_NOT_NULL(mysql_field->flags)?1:0); |