mirror of
https://github.com/danog/psalm.git
synced 2025-01-22 05:41:20 +01:00
Merge pull request #6986 from kamil-tekiela/mysqli-stub-fixes
This commit is contained in:
commit
55b2b6b838
@ -8390,11 +8390,11 @@ return [
|
||||
'mysql_xdevapi\tableupdate::where' => ['mysql_xdevapi\TableUpdate', 'where_expr'=>'string'],
|
||||
'mysqli::__construct' => ['void', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null'],
|
||||
'mysqli::autocommit' => ['bool', 'enable'=>'bool'],
|
||||
'mysqli::begin_transaction' => ['bool', 'flags='=>'int', 'name='=>'string'],
|
||||
'mysqli::begin_transaction' => ['bool', 'flags='=>'int', 'name='=>'?string'],
|
||||
'mysqli::change_user' => ['bool', 'username'=>'string', 'password'=>'string', 'database'=>'string'],
|
||||
'mysqli::character_set_name' => ['string'],
|
||||
'mysqli::close' => ['bool'],
|
||||
'mysqli::commit' => ['bool', 'flags='=>'int', 'name='=>'string'],
|
||||
'mysqli::commit' => ['bool', 'flags='=>'int', 'name='=>'?string'],
|
||||
'mysqli::connect' => ['bool', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null'],
|
||||
'mysqli::debug' => ['bool', 'options'=>'string'],
|
||||
'mysqli::disable_reads_from_master' => ['bool'],
|
||||
@ -8402,14 +8402,14 @@ return [
|
||||
'mysqli::escape_string' => ['string', 'string'=>'string'],
|
||||
'mysqli::get_charset' => ['object'],
|
||||
'mysqli::get_client_info' => ['string'],
|
||||
'mysqli::get_connection_stats' => ['array|false'],
|
||||
'mysqli::get_connection_stats' => ['array'],
|
||||
'mysqli::get_warnings' => ['mysqli_warning'],
|
||||
'mysqli::init' => ['mysqli'],
|
||||
'mysqli::init' => ['false|null'],
|
||||
'mysqli::kill' => ['bool', 'process_id'=>'int'],
|
||||
'mysqli::more_results' => ['bool'],
|
||||
'mysqli::more_results' => ['bool'],
|
||||
'mysqli::multi_query' => ['bool', 'query'=>'string'],
|
||||
'mysqli::next_result' => ['bool'],
|
||||
'mysqli::options' => ['bool', 'option'=>'int', 'value'=>'mixed'],
|
||||
'mysqli::options' => ['bool', 'option'=>'int', 'value'=>'string|int'],
|
||||
'mysqli::ping' => ['bool'],
|
||||
'mysqli::poll' => ['int|false', '&w_read'=>'array', '&w_write'=>'array', '&w_error'=>'array', 'seconds'=>'int', 'microseconds='=>'int'],
|
||||
'mysqli::prepare' => ['mysqli_stmt|false', 'query'=>'string'],
|
||||
@ -8420,7 +8420,7 @@ return [
|
||||
'mysqli::reap_async_query' => ['mysqli_result|false'],
|
||||
'mysqli::refresh' => ['bool', 'flags'=>'int'],
|
||||
'mysqli::release_savepoint' => ['bool', 'name'=>'string'],
|
||||
'mysqli::rollback' => ['bool', 'flags='=>'int', 'name='=>'string'],
|
||||
'mysqli::rollback' => ['bool', 'flags='=>'int', 'name='=>'?string'],
|
||||
'mysqli::rpl_query_type' => ['int', 'query'=>'string'],
|
||||
'mysqli::savepoint' => ['bool', 'name'=>'string'],
|
||||
'mysqli::select_db' => ['bool', 'database'=>'string'],
|
||||
@ -8428,6 +8428,7 @@ return [
|
||||
'mysqli::set_charset' => ['bool', 'charset'=>'string'],
|
||||
'mysqli::set_local_infile_default' => ['void'],
|
||||
'mysqli::set_local_infile_handler' => ['bool', 'read_func='=>'callable'],
|
||||
'mysqli::set_opt' => ['bool', 'option'=>'int', 'value'=>'string|int'],
|
||||
'mysqli::ssl_set' => ['bool', 'key'=>'string', 'certificate'=>'string', 'ca_certificate'=>'string', 'ca_path'=>'string', 'cipher_algos'=>'string'],
|
||||
'mysqli::stat' => ['string|false'],
|
||||
'mysqli::stmt_init' => ['mysqli_stmt'],
|
||||
@ -8436,11 +8437,11 @@ return [
|
||||
'mysqli::use_result' => ['mysqli_result|false'],
|
||||
'mysqli_affected_rows' => ['int', 'mysql'=>'mysqli'],
|
||||
'mysqli_autocommit' => ['bool', 'mysql'=>'mysqli', 'enable'=>'bool'],
|
||||
'mysqli_begin_transaction' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'string'],
|
||||
'mysqli_begin_transaction' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'?string'],
|
||||
'mysqli_change_user' => ['bool', 'mysql'=>'mysqli', 'username'=>'string', 'password'=>'string', 'database'=>'?string'],
|
||||
'mysqli_character_set_name' => ['string', 'mysql'=>'mysqli'],
|
||||
'mysqli_close' => ['bool', 'mysql'=>'mysqli'],
|
||||
'mysqli_commit' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'string'],
|
||||
'mysqli_commit' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'?string'],
|
||||
'mysqli_connect' => ['mysqli|false', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null'],
|
||||
'mysqli_connect_errno' => ['int'],
|
||||
'mysqli_connect_error' => ['?string'],
|
||||
@ -8461,15 +8462,15 @@ return [
|
||||
'mysqli_escape_string' => ['string', 'mysql'=>'mysqli', 'string'=>'string'],
|
||||
'mysqli_execute' => ['bool', 'statement'=>'mysqli_stmt', 'params='=>'list<mixed>|null'],
|
||||
'mysqli_fetch_all' => ['array', 'result'=>'mysqli_result', 'mode='=>'int'],
|
||||
'mysqli_fetch_array' => ['?array', 'result'=>'mysqli_result', 'mode='=>'int'],
|
||||
'mysqli_fetch_assoc' => ['array<string,string>|null', 'result'=>'mysqli_result'],
|
||||
'mysqli_fetch_array' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'int'],
|
||||
'mysqli_fetch_assoc' => ['array<string,string>|false|null', 'result'=>'mysqli_result'],
|
||||
'mysqli_fetch_column' => ['null|int|float|string|false', 'result'=>'mysqli_result', 'column='=>'int'],
|
||||
'mysqli_fetch_field' => ['object|false', 'result'=>'mysqli_result'],
|
||||
'mysqli_fetch_field_direct' => ['object|false', 'result'=>'mysqli_result', 'index'=>'int'],
|
||||
'mysqli_fetch_fields' => ['array|false', 'result'=>'mysqli_result'],
|
||||
'mysqli_fetch_lengths' => ['array|false', 'result'=>'mysqli_result'],
|
||||
'mysqli_fetch_object' => ['?object', 'result'=>'mysqli_result', 'class='=>'string', 'constructor_args='=>'?array'],
|
||||
'mysqli_fetch_row' => ['?array', 'result'=>'mysqli_result'],
|
||||
'mysqli_fetch_object' => ['object|false|null', 'result'=>'mysqli_result', 'class='=>'class-string', 'constructor_args='=>'array'],
|
||||
'mysqli_fetch_row' => ['array<int,string>|false|null', 'result'=>'mysqli_result'],
|
||||
'mysqli_field_count' => ['int', 'mysql'=>'mysqli'],
|
||||
'mysqli_field_seek' => ['bool', 'result'=>'mysqli_result', 'index'=>'int'],
|
||||
'mysqli_field_tell' => ['int', 'result'=>'mysqli_result'],
|
||||
@ -8477,9 +8478,9 @@ return [
|
||||
'mysqli_get_cache_stats' => ['array|false'],
|
||||
'mysqli_get_charset' => ['object', 'mysql'=>'mysqli'],
|
||||
'mysqli_get_client_info' => ['string', 'mysql'=>'mysqli'],
|
||||
'mysqli_get_client_stats' => ['array|false'],
|
||||
'mysqli_get_client_stats' => ['array'],
|
||||
'mysqli_get_client_version' => ['int', 'link'=>'mysqli'],
|
||||
'mysqli_get_connection_stats' => ['array|false', 'mysql'=>'mysqli'],
|
||||
'mysqli_get_connection_stats' => ['array', 'mysql'=>'mysqli'],
|
||||
'mysqli_get_host_info' => ['string', 'mysql'=>'mysqli'],
|
||||
'mysqli_get_links_stats' => ['array'],
|
||||
'mysqli_get_proto_info' => ['int', 'mysql'=>'mysqli'],
|
||||
@ -8497,7 +8498,7 @@ return [
|
||||
'mysqli_next_result' => ['bool', 'mysql'=>'mysqli'],
|
||||
'mysqli_num_fields' => ['int', 'result'=>'mysqli_result'],
|
||||
'mysqli_num_rows' => ['int', 'result'=>'mysqli_result'],
|
||||
'mysqli_options' => ['bool', 'mysql'=>'mysqli', 'option'=>'int', 'value'=>'mixed'],
|
||||
'mysqli_options' => ['bool', 'mysql'=>'mysqli', 'option'=>'int', 'value'=>'string|int'],
|
||||
'mysqli_ping' => ['bool', 'mysql'=>'mysqli'],
|
||||
'mysqli_poll' => ['int|false', 'read'=>'array', 'write'=>'array', 'error'=>'array', 'seconds'=>'int', 'microseconds='=>'int'],
|
||||
'mysqli_prepare' => ['mysqli_stmt|false', 'mysql'=>'mysqli', 'query'=>'string'],
|
||||
@ -8513,18 +8514,18 @@ return [
|
||||
'mysqli_result::close' => ['void'],
|
||||
'mysqli_result::data_seek' => ['bool', 'offset'=>'int'],
|
||||
'mysqli_result::fetch_all' => ['array', 'mode='=>'int'],
|
||||
'mysqli_result::fetch_array' => ['?array', 'mode='=>'int'],
|
||||
'mysqli_result::fetch_assoc' => ['array<string,string>|null'],
|
||||
'mysqli_result::fetch_array' => ['array|false|null', 'mode='=>'int'],
|
||||
'mysqli_result::fetch_assoc' => ['array<string,string>|false|null'],
|
||||
'mysqli_result::fetch_column' => ['null|int|float|string|false', 'column='=>'int'],
|
||||
'mysqli_result::fetch_field' => ['object|false'],
|
||||
'mysqli_result::fetch_field_direct' => ['object|false', 'index'=>'int'],
|
||||
'mysqli_result::fetch_fields' => ['array|false'],
|
||||
'mysqli_result::fetch_object' => ['object|stdClass|null', 'class='=>'string', 'constructor_args='=>'array'],
|
||||
'mysqli_result::fetch_row' => ['?array'],
|
||||
'mysqli_result::fetch_object' => ['object|false|null', 'class='=>'class-string', 'constructor_args='=>'array'],
|
||||
'mysqli_result::fetch_row' => ['array<int,string>|false|null'],
|
||||
'mysqli_result::field_seek' => ['bool', 'index'=>'int'],
|
||||
'mysqli_result::free' => ['void'],
|
||||
'mysqli_result::free_result' => ['void'],
|
||||
'mysqli_rollback' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'string'],
|
||||
'mysqli_rollback' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'?string'],
|
||||
'mysqli_rpl_parse_enabled' => ['int', 'link'=>'mysqli'],
|
||||
'mysqli_rpl_probe' => ['bool', 'link'=>'mysqli'],
|
||||
'mysqli_rpl_query_type' => ['int', 'link'=>'mysqli', 'query'=>'string'],
|
||||
@ -8535,13 +8536,13 @@ return [
|
||||
'mysqli_set_charset' => ['bool', 'mysql'=>'mysqli', 'charset'=>'string'],
|
||||
'mysqli_set_local_infile_default' => ['void', 'link'=>'mysqli'],
|
||||
'mysqli_set_local_infile_handler' => ['bool', 'link'=>'mysqli', 'read_func'=>'callable'],
|
||||
'mysqli_set_opt' => ['bool', 'mysql'=>'mysqli', 'option'=>'int', 'value'=>'mixed'],
|
||||
'mysqli_set_opt' => ['bool', 'mysql'=>'mysqli', 'option'=>'int', 'value'=>'string|int'],
|
||||
'mysqli_slave_query' => ['bool', 'link'=>'mysqli', 'query'=>'string'],
|
||||
'mysqli_sqlstate' => ['string', 'mysql'=>'mysqli'],
|
||||
'mysqli_ssl_set' => ['bool', 'mysql'=>'mysqli', 'key'=>'string', 'certificate'=>'string', 'ca_certificate'=>'string', 'ca_path'=>'string', 'cipher_algos'=>'string'],
|
||||
'mysqli_stat' => ['string|false', 'mysql'=>'mysqli'],
|
||||
'mysqli_stmt::__construct' => ['void', 'mysql'=>'mysqli', 'query'=>'string'],
|
||||
'mysqli_stmt::attr_get' => ['false|int', 'attribute'=>'int'],
|
||||
'mysqli_stmt::attr_get' => ['int', 'attribute'=>'int'],
|
||||
'mysqli_stmt::attr_set' => ['bool', 'attribute'=>'int', 'value'=>'int'],
|
||||
'mysqli_stmt::bind_param' => ['bool', 'types'=>'string', '&vars'=>'mixed', '&...args='=>'mixed'],
|
||||
'mysqli_stmt::bind_result' => ['bool', '&w_var1'=>'', '&...w_vars='=>''],
|
||||
@ -8561,7 +8562,7 @@ return [
|
||||
'mysqli_stmt::send_long_data' => ['bool', 'param_num'=>'int', 'data'=>'string'],
|
||||
'mysqli_stmt::store_result' => ['bool'],
|
||||
'mysqli_stmt_affected_rows' => ['int|string', 'statement'=>'mysqli_stmt'],
|
||||
'mysqli_stmt_attr_get' => ['int|false', 'statement'=>'mysqli_stmt', 'attribute'=>'int'],
|
||||
'mysqli_stmt_attr_get' => ['int', 'statement'=>'mysqli_stmt', 'attribute'=>'int'],
|
||||
'mysqli_stmt_attr_set' => ['bool', 'statement'=>'mysqli_stmt', 'attribute'=>'int', 'value'=>'int'],
|
||||
'mysqli_stmt_bind_param' => ['bool', 'statement'=>'mysqli_stmt', 'types'=>'string', '&vars'=>'mixed', '&...args='=>'mixed'],
|
||||
'mysqli_stmt_bind_result' => ['bool', 'statement'=>'mysqli_stmt', '&w_var1'=>'', '&...w_vars='=>''],
|
||||
|
@ -909,14 +909,38 @@ return [
|
||||
'old' => ['void', 'hostname='=>'string', 'username='=>'string', 'password='=>'string', 'database='=>'string', 'port='=>'int', 'socket='=>'string'],
|
||||
'new' => ['void', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null'],
|
||||
],
|
||||
'mysqli::begin_transaction' => [
|
||||
'old' => ['bool', 'flags='=>'int', 'name='=>'string'],
|
||||
'new' => ['bool', 'flags='=>'int', 'name='=>'?string'],
|
||||
],
|
||||
'mysqli::commit' => [
|
||||
'old' => ['bool', 'flags='=>'int', 'name='=>'string'],
|
||||
'new' => ['bool', 'flags='=>'int', 'name='=>'?string'],
|
||||
],
|
||||
'mysqli::connect' => [
|
||||
'old' => ['null|false', 'hostname='=>'string', 'username='=>'string', 'password='=>'string', 'database='=>'string', 'port='=>'int', 'socket='=>'string'],
|
||||
'new' => ['null|false', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null'],
|
||||
],
|
||||
'mysqli::rollback' => [
|
||||
'old' => ['bool', 'flags='=>'int', 'name='=>'string'],
|
||||
'new' => ['bool', 'flags='=>'int', 'name='=>'?string'],
|
||||
],
|
||||
'mysqli_begin_transaction' => [
|
||||
'old' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'string'],
|
||||
'new' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'?string'],
|
||||
],
|
||||
'mysqli_commit' => [
|
||||
'old' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'string'],
|
||||
'new' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'?string'],
|
||||
],
|
||||
'mysqli_connect' => [
|
||||
'old' => ['mysqli|false', 'hostname='=>'string', 'username='=>'string', 'password='=>'string', 'database='=>'string', 'port='=>'int', 'socket='=>'string'],
|
||||
'new' => ['mysqli|false', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null'],
|
||||
],
|
||||
'mysqli_rollback' => [
|
||||
'old' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'string'],
|
||||
'new' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'?string'],
|
||||
],
|
||||
'openssl_pkey_get_private' => [
|
||||
'old' => ['resource|false', 'private_key'=>'string', 'passphrase='=>'string'],
|
||||
'new' => ['OpenSSLAsymmetricKey|false', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array|string', 'passphrase='=>'?string'],
|
||||
|
@ -13339,14 +13339,14 @@ return [
|
||||
'mysqli::escape_string' => ['string', 'string'=>'string'],
|
||||
'mysqli::get_charset' => ['object'],
|
||||
'mysqli::get_client_info' => ['string'],
|
||||
'mysqli::get_connection_stats' => ['array|false'],
|
||||
'mysqli::get_connection_stats' => ['array'],
|
||||
'mysqli::get_warnings' => ['mysqli_warning'],
|
||||
'mysqli::init' => ['mysqli'],
|
||||
'mysqli::init' => ['false|null'],
|
||||
'mysqli::kill' => ['bool', 'process_id'=>'int'],
|
||||
'mysqli::more_results' => ['bool'],
|
||||
'mysqli::multi_query' => ['bool', 'query'=>'string'],
|
||||
'mysqli::next_result' => ['bool'],
|
||||
'mysqli::options' => ['bool', 'option'=>'int', 'value'=>'mixed'],
|
||||
'mysqli::options' => ['bool', 'option'=>'int', 'value'=>'string|int'],
|
||||
'mysqli::ping' => ['bool'],
|
||||
'mysqli::poll' => ['int|false', '&w_read'=>'array', '&w_write'=>'array', '&w_error'=>'array', 'seconds'=>'int', 'microseconds='=>'int'],
|
||||
'mysqli::prepare' => ['mysqli_stmt|false', 'query'=>'string'],
|
||||
@ -13365,6 +13365,7 @@ return [
|
||||
'mysqli::set_charset' => ['bool', 'charset'=>'string'],
|
||||
'mysqli::set_local_infile_default' => ['void'],
|
||||
'mysqli::set_local_infile_handler' => ['bool', 'read_func='=>'callable'],
|
||||
'mysqli::set_opt' => ['bool', 'option'=>'int', 'value'=>'string|int'],
|
||||
'mysqli::ssl_set' => ['bool', 'key'=>'string', 'certificate'=>'string', 'ca_certificate'=>'string', 'ca_path'=>'string', 'cipher_algos'=>'string'],
|
||||
'mysqli::stat' => ['string|false'],
|
||||
'mysqli::stmt_init' => ['mysqli_stmt'],
|
||||
@ -13398,14 +13399,14 @@ return [
|
||||
'mysqli_escape_string' => ['string', 'mysql'=>'mysqli', 'string'=>'string'],
|
||||
'mysqli_execute' => ['bool', 'statement'=>'mysqli_stmt'],
|
||||
'mysqli_fetch_all' => ['array', 'result'=>'mysqli_result', 'mode='=>'int'],
|
||||
'mysqli_fetch_array' => ['?array', 'result'=>'mysqli_result', 'mode='=>'int'],
|
||||
'mysqli_fetch_assoc' => ['array<string,string>|null', 'result'=>'mysqli_result'],
|
||||
'mysqli_fetch_array' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'int'],
|
||||
'mysqli_fetch_assoc' => ['array<string,string>|false|null', 'result'=>'mysqli_result'],
|
||||
'mysqli_fetch_field' => ['object|false', 'result'=>'mysqli_result'],
|
||||
'mysqli_fetch_field_direct' => ['object|false', 'result'=>'mysqli_result', 'index'=>'int'],
|
||||
'mysqli_fetch_fields' => ['array|false', 'result'=>'mysqli_result'],
|
||||
'mysqli_fetch_lengths' => ['array|false', 'result'=>'mysqli_result'],
|
||||
'mysqli_fetch_object' => ['?object', 'result'=>'mysqli_result', 'class='=>'string', 'constructor_args='=>'?array'],
|
||||
'mysqli_fetch_row' => ['?array', 'result'=>'mysqli_result'],
|
||||
'mysqli_fetch_object' => ['object|false|null', 'result'=>'mysqli_result', 'class='=>'class-string', 'constructor_args='=>'array'],
|
||||
'mysqli_fetch_row' => ['array<int,string>|false|null', 'result'=>'mysqli_result'],
|
||||
'mysqli_field_count' => ['int', 'mysql'=>'mysqli'],
|
||||
'mysqli_field_seek' => ['bool', 'result'=>'mysqli_result', 'index'=>'int'],
|
||||
'mysqli_field_tell' => ['int', 'result'=>'mysqli_result'],
|
||||
@ -13413,9 +13414,9 @@ return [
|
||||
'mysqli_get_cache_stats' => ['array|false'],
|
||||
'mysqli_get_charset' => ['object', 'mysql'=>'mysqli'],
|
||||
'mysqli_get_client_info' => ['string', 'mysql'=>'mysqli'],
|
||||
'mysqli_get_client_stats' => ['array|false'],
|
||||
'mysqli_get_client_stats' => ['array'],
|
||||
'mysqli_get_client_version' => ['int', 'link'=>'mysqli'],
|
||||
'mysqli_get_connection_stats' => ['array|false', 'mysql'=>'mysqli'],
|
||||
'mysqli_get_connection_stats' => ['array', 'mysql'=>'mysqli'],
|
||||
'mysqli_get_host_info' => ['string', 'mysql'=>'mysqli'],
|
||||
'mysqli_get_links_stats' => ['array'],
|
||||
'mysqli_get_proto_info' => ['int', 'mysql'=>'mysqli'],
|
||||
@ -13433,7 +13434,7 @@ return [
|
||||
'mysqli_next_result' => ['bool', 'mysql'=>'mysqli'],
|
||||
'mysqli_num_fields' => ['int', 'result'=>'mysqli_result'],
|
||||
'mysqli_num_rows' => ['int', 'result'=>'mysqli_result'],
|
||||
'mysqli_options' => ['bool', 'mysql'=>'mysqli', 'option'=>'int', 'value'=>'mixed'],
|
||||
'mysqli_options' => ['bool', 'mysql'=>'mysqli', 'option'=>'int', 'value'=>'string|int'],
|
||||
'mysqli_ping' => ['bool', 'mysql'=>'mysqli'],
|
||||
'mysqli_poll' => ['int|false', 'read'=>'array', 'write'=>'array', 'error'=>'array', 'seconds'=>'int', 'microseconds='=>'int'],
|
||||
'mysqli_prepare' => ['mysqli_stmt|false', 'mysql'=>'mysqli', 'query'=>'string'],
|
||||
@ -13449,13 +13450,13 @@ return [
|
||||
'mysqli_result::close' => ['void'],
|
||||
'mysqli_result::data_seek' => ['bool', 'offset'=>'int'],
|
||||
'mysqli_result::fetch_all' => ['array', 'mode='=>'int'],
|
||||
'mysqli_result::fetch_array' => ['?array', 'mode='=>'int'],
|
||||
'mysqli_result::fetch_assoc' => ['array<string,string>|null'],
|
||||
'mysqli_result::fetch_array' => ['array|false|null', 'mode='=>'int'],
|
||||
'mysqli_result::fetch_assoc' => ['array<string,string>|false|null'],
|
||||
'mysqli_result::fetch_field' => ['object|false'],
|
||||
'mysqli_result::fetch_field_direct' => ['object|false', 'index'=>'int'],
|
||||
'mysqli_result::fetch_fields' => ['array|false'],
|
||||
'mysqli_result::fetch_object' => ['object|stdClass|null', 'class='=>'string', 'constructor_args='=>'array'],
|
||||
'mysqli_result::fetch_row' => ['?array'],
|
||||
'mysqli_result::fetch_object' => ['object|false|null', 'class='=>'class-string', 'constructor_args='=>'array'],
|
||||
'mysqli_result::fetch_row' => ['array<int,string>|false|null'],
|
||||
'mysqli_result::field_seek' => ['bool', 'index'=>'int'],
|
||||
'mysqli_result::free' => ['void'],
|
||||
'mysqli_result::free_result' => ['void'],
|
||||
@ -13470,13 +13471,13 @@ return [
|
||||
'mysqli_set_charset' => ['bool', 'mysql'=>'mysqli', 'charset'=>'string'],
|
||||
'mysqli_set_local_infile_default' => ['void', 'link'=>'mysqli'],
|
||||
'mysqli_set_local_infile_handler' => ['bool', 'link'=>'mysqli', 'read_func'=>'callable'],
|
||||
'mysqli_set_opt' => ['bool', 'mysql'=>'mysqli', 'option'=>'int', 'value'=>'mixed'],
|
||||
'mysqli_set_opt' => ['bool', 'mysql'=>'mysqli', 'option'=>'int', 'value'=>'string|int'],
|
||||
'mysqli_slave_query' => ['bool', 'link'=>'mysqli', 'query'=>'string'],
|
||||
'mysqli_sqlstate' => ['string', 'mysql'=>'mysqli'],
|
||||
'mysqli_ssl_set' => ['bool', 'mysql'=>'mysqli', 'key'=>'string', 'certificate'=>'string', 'ca_certificate'=>'string', 'ca_path'=>'string', 'cipher_algos'=>'string'],
|
||||
'mysqli_stat' => ['string|false', 'mysql'=>'mysqli'],
|
||||
'mysqli_stmt::__construct' => ['void', 'mysql'=>'mysqli', 'query'=>'string'],
|
||||
'mysqli_stmt::attr_get' => ['false|int', 'attribute'=>'int'],
|
||||
'mysqli_stmt::attr_get' => ['int', 'attribute'=>'int'],
|
||||
'mysqli_stmt::attr_set' => ['bool', 'attribute'=>'int', 'value'=>'int'],
|
||||
'mysqli_stmt::bind_param' => ['bool', 'types'=>'string', '&vars'=>'mixed', '&...args='=>'mixed'],
|
||||
'mysqli_stmt::bind_result' => ['bool', '&w_var1'=>'', '&...w_vars='=>''],
|
||||
@ -13496,7 +13497,7 @@ return [
|
||||
'mysqli_stmt::send_long_data' => ['bool', 'param_num'=>'int', 'data'=>'string'],
|
||||
'mysqli_stmt::store_result' => ['bool'],
|
||||
'mysqli_stmt_affected_rows' => ['int|string', 'statement'=>'mysqli_stmt'],
|
||||
'mysqli_stmt_attr_get' => ['int|false', 'statement'=>'mysqli_stmt', 'attribute'=>'int'],
|
||||
'mysqli_stmt_attr_get' => ['int', 'statement'=>'mysqli_stmt', 'attribute'=>'int'],
|
||||
'mysqli_stmt_attr_set' => ['bool', 'statement'=>'mysqli_stmt', 'attribute'=>'int', 'value'=>'int'],
|
||||
'mysqli_stmt_bind_param' => ['bool', 'statement'=>'mysqli_stmt', 'types'=>'string', '&vars'=>'mixed', '&...args='=>'mixed'],
|
||||
'mysqli_stmt_bind_result' => ['bool', 'statement'=>'mysqli_stmt', '&w_var1'=>'', '&...w_vars='=>''],
|
||||
|
@ -282,7 +282,7 @@ return [
|
||||
'mysqli_result' => [
|
||||
'current_field' => 'int',
|
||||
'field_count' => 'int',
|
||||
'lengths' => 'array',
|
||||
'lengths' => 'array|null',
|
||||
'num_rows' => 'int',
|
||||
'type' => 'mixed',
|
||||
],
|
||||
|
@ -1953,6 +1953,11 @@ class Config
|
||||
$this->internal_stubs[] = $xdebug_stub_path;
|
||||
}
|
||||
|
||||
if (\extension_loaded('mysqli')) {
|
||||
$ext_mysqli_path = $dir_lvl_2 . DIRECTORY_SEPARATOR . 'stubs' . DIRECTORY_SEPARATOR . 'mysqli.phpstub';
|
||||
$this->internal_stubs[] = $ext_mysqli_path;
|
||||
}
|
||||
|
||||
foreach ($this->internal_stubs as $stub_path) {
|
||||
if (!file_exists($stub_path)) {
|
||||
throw new \UnexpectedValueException('Cannot locate ' . $stub_path);
|
||||
|
30
stubs/mysqli.phpstub
Normal file
30
stubs/mysqli.phpstub
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @template TValue
|
||||
*
|
||||
* @template-implements Traversable<int, TValue>
|
||||
*/
|
||||
class mysqli_result implements Traversable
|
||||
{
|
||||
/**
|
||||
* @psalm-taint-sink callable $class
|
||||
|
||||
* @template T of object
|
||||
* @param class-string<T> $class
|
||||
* @param array $constructor_args
|
||||
* @return T|null|false
|
||||
*/
|
||||
function fetch_object(string $class = stdClass::class, array $constructor_args = []): object|false|null {}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @psalm-taint-sink callable $class
|
||||
|
||||
* @template T of object
|
||||
* @param class-string<T> $class
|
||||
* @param array $constructor_args
|
||||
* @return T|null|false
|
||||
*/
|
||||
function mysqli_fetch_object(mysqli_result $result, string $class = stdClass::class, array $constructor_args = []): object|false|null {}
|
Loading…
x
Reference in New Issue
Block a user