Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.41
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
src /
php-7.4.33 /
ext /
mysqli /
tests /
Delete
Unzip
Name
Size
Permission
Date
Action
001.phpt
1.82
KB
-rw-rw-r--
2022-10-31 11:36
002.phpt
2.28
KB
-rw-rw-r--
2022-10-31 11:36
003.phpt
2.82
KB
-rw-rw-r--
2022-10-31 11:36
004.phpt
2.59
KB
-rw-rw-r--
2022-10-31 11:36
005.phpt
1.72
KB
-rw-rw-r--
2022-10-31 11:36
006.phpt
2.22
KB
-rw-rw-r--
2022-10-31 11:36
007.phpt
2.27
KB
-rw-rw-r--
2022-10-31 11:36
008.phpt
2.25
KB
-rw-rw-r--
2022-10-31 11:36
009.phpt
3.91
KB
-rw-rw-r--
2022-10-31 11:36
010.phpt
2.34
KB
-rw-rw-r--
2022-10-31 11:36
011.phpt
2.29
KB
-rw-rw-r--
2022-10-31 11:36
012.phpt
2.23
KB
-rw-rw-r--
2022-10-31 11:36
013.phpt
2.64
KB
-rw-rw-r--
2022-10-31 11:36
014.phpt
3.01
KB
-rw-rw-r--
2022-10-31 11:36
015.phpt
2.93
KB
-rw-rw-r--
2022-10-31 11:36
016.phpt
804
B
-rw-rw-r--
2022-10-31 11:36
017.phpt
929
B
-rw-rw-r--
2022-10-31 11:36
018.phpt
763
B
-rw-rw-r--
2022-10-31 11:36
019.phpt
2.61
KB
-rw-rw-r--
2022-10-31 11:36
020.phpt
2.32
KB
-rw-rw-r--
2022-10-31 11:36
021.phpt
1.55
KB
-rw-rw-r--
2022-10-31 11:36
022.phpt
1.62
KB
-rw-rw-r--
2022-10-31 11:36
023.phpt
1.9
KB
-rw-rw-r--
2022-10-31 11:36
024.phpt
1.93
KB
-rw-rw-r--
2022-10-31 11:36
025.phpt
2.06
KB
-rw-rw-r--
2022-10-31 11:36
026.phpt
1.9
KB
-rw-rw-r--
2022-10-31 11:36
027.phpt
441
B
-rw-rw-r--
2022-10-31 11:36
028.phpt
471
B
-rw-rw-r--
2022-10-31 11:36
029.phpt
1.09
KB
-rw-rw-r--
2022-10-31 11:36
030.phpt
588
B
-rw-rw-r--
2022-10-31 11:36
031.phpt
601
B
-rw-rw-r--
2022-10-31 11:36
032.phpt
1.11
KB
-rw-rw-r--
2022-10-31 11:36
033.phpt
510
B
-rw-rw-r--
2022-10-31 11:36
034.phpt
475
B
-rw-rw-r--
2022-10-31 11:36
035.phpt
465
B
-rw-rw-r--
2022-10-31 11:36
036.phpt
1.79
KB
-rw-rw-r--
2022-10-31 11:36
037.phpt
1.25
KB
-rw-rw-r--
2022-10-31 11:36
038.phpt
1.28
KB
-rw-rw-r--
2022-10-31 11:36
039.phpt
616
B
-rw-rw-r--
2022-10-31 11:36
040.phpt
1.29
KB
-rw-rw-r--
2022-10-31 11:36
041.phpt
966
B
-rw-rw-r--
2022-10-31 11:36
042.phpt
1.87
KB
-rw-rw-r--
2022-10-31 11:36
043.phpt
1.52
KB
-rw-rw-r--
2022-10-31 11:36
044.phpt
453
B
-rw-rw-r--
2022-10-31 11:36
045.phpt
1.07
KB
-rw-rw-r--
2022-10-31 11:36
046.phpt
1.32
KB
-rw-rw-r--
2022-10-31 11:36
047.phpt
4.39
KB
-rw-rw-r--
2022-10-31 11:36
048.phpt
1.81
KB
-rw-rw-r--
2022-10-31 11:36
049.phpt
671
B
-rw-rw-r--
2022-10-31 11:36
050.phpt
492
B
-rw-rw-r--
2022-10-31 11:36
051.phpt
535
B
-rw-rw-r--
2022-10-31 11:36
052.phpt
537
B
-rw-rw-r--
2022-10-31 11:36
053.phpt
455
B
-rw-rw-r--
2022-10-31 11:36
054.phpt
503
B
-rw-rw-r--
2022-10-31 11:36
055.phpt
484
B
-rw-rw-r--
2022-10-31 11:36
056.phpt
467
B
-rw-rw-r--
2022-10-31 11:36
057.phpt
2.93
KB
-rw-rw-r--
2022-10-31 11:36
058.phpt
1.54
KB
-rw-rw-r--
2022-10-31 11:36
059.phpt
1.32
KB
-rw-rw-r--
2022-10-31 11:36
060.phpt
1.74
KB
-rw-rw-r--
2022-10-31 11:36
061.phpt
2.71
KB
-rw-rw-r--
2022-10-31 11:36
062.phpt
517
B
-rw-rw-r--
2022-10-31 11:36
063.phpt
825
B
-rw-rw-r--
2022-10-31 11:36
064.phpt
449
B
-rw-rw-r--
2022-10-31 11:36
065.phpt
1.62
KB
-rw-rw-r--
2022-10-31 11:36
066.phpt
1.22
KB
-rw-rw-r--
2022-10-31 11:36
067.phpt
2.43
KB
-rw-rw-r--
2022-10-31 11:36
068.phpt
173
B
-rw-rw-r--
2022-10-31 11:36
069.phpt
765
B
-rw-rw-r--
2022-10-31 11:36
070.phpt
333
B
-rw-rw-r--
2022-10-31 11:36
071.phpt
2.16
KB
-rw-rw-r--
2022-10-31 11:36
072.phpt
600
B
-rw-rw-r--
2022-10-31 11:36
073.phpt
446
B
-rw-rw-r--
2022-10-31 11:36
074.phpt
622
B
-rw-rw-r--
2022-10-31 11:36
CONFLICTS
6
B
-rw-rw-r--
2022-10-31 11:36
bug28817.phpt
816
B
-rw-rw-r--
2022-10-31 11:36
bug29311.phpt
1.23
KB
-rw-rw-r--
2022-10-31 11:36
bug30967.phpt
514
B
-rw-rw-r--
2022-10-31 11:36
bug31141.phpt
453
B
-rw-rw-r--
2022-10-31 11:36
bug31668.phpt
1.24
KB
-rw-rw-r--
2022-10-31 11:36
bug32405.phpt
1.57
KB
-rw-rw-r--
2022-10-31 11:36
bug32490.phpt
293
B
-rw-rw-r--
2022-10-31 11:36
bug33090.phpt
532
B
-rw-rw-r--
2022-10-31 11:36
bug33263.phpt
869
B
-rw-rw-r--
2022-10-31 11:36
bug33491.phpt
766
B
-rw-rw-r--
2022-10-31 11:36
bug34785.phpt
1.09
KB
-rw-rw-r--
2022-10-31 11:36
bug34810.phpt
2.62
KB
-rw-rw-r--
2022-10-31 11:36
bug35103.phpt
2.23
KB
-rw-rw-r--
2022-10-31 11:36
bug35517.phpt
1.52
KB
-rw-rw-r--
2022-10-31 11:36
bug35759.phpt
1.54
KB
-rw-rw-r--
2022-10-31 11:36
bug36420.phpt
586
B
-rw-rw-r--
2022-10-31 11:36
bug36745.phpt
1.02
KB
-rw-rw-r--
2022-10-31 11:36
bug36802.phpt
787
B
-rw-rw-r--
2022-10-31 11:36
bug36949.phpt
1.59
KB
-rw-rw-r--
2022-10-31 11:36
bug37090.phpt
862
B
-rw-rw-r--
2022-10-31 11:36
bug38003.phpt
538
B
-rw-rw-r--
2022-10-31 11:36
bug38710.phpt
627
B
-rw-rw-r--
2022-10-31 11:36
bug39457.phpt
420
B
-rw-rw-r--
2022-10-31 11:36
bug42378.phpt
6.55
KB
-rw-rw-r--
2022-10-31 11:36
bug42548.phpt
1.96
KB
-rw-rw-r--
2022-10-31 11:36
bug44897.phpt
2.87
KB
-rw-rw-r--
2022-10-31 11:36
bug45019.phpt
1.88
KB
-rw-rw-r--
2022-10-31 11:36
bug45289.phpt
1.1
KB
-rw-rw-r--
2022-10-31 11:36
bug46109.phpt
295
B
-rw-rw-r--
2022-10-31 11:36
bug46614.phpt
606
B
-rw-rw-r--
2022-10-31 11:36
bug47050.phpt
818
B
-rw-rw-r--
2022-10-31 11:36
bug48909.phpt
1.37
KB
-rw-rw-r--
2022-10-31 11:36
bug49027.phpt
1.6
KB
-rw-rw-r--
2022-10-31 11:36
bug49442.phpt
4.21
KB
-rw-rw-r--
2022-10-31 11:36
bug50772.phpt
816
B
-rw-rw-r--
2022-10-31 11:36
bug51605.phpt
1.16
KB
-rw-rw-r--
2022-10-31 11:36
bug51647.phpt
3.9
KB
-rw-rw-r--
2022-10-31 11:36
bug52082.phpt
1.24
KB
-rw-rw-r--
2022-10-31 11:36
bug52891.phpt
4.07
KB
-rw-rw-r--
2022-10-31 11:36
bug53503.phpt
1.98
KB
-rw-rw-r--
2022-10-31 11:36
bug54221.phpt
1.21
KB
-rw-rw-r--
2022-10-31 11:36
bug54674.phpt
769
B
-rw-rw-r--
2022-10-31 11:36
bug55283.phpt
2.33
KB
-rw-rw-r--
2022-10-31 11:36
bug55582.phpt
974
B
-rw-rw-r--
2022-10-31 11:36
bug55653.phpt
988
B
-rw-rw-r--
2022-10-31 11:36
bug62046.phpt
1.24
KB
-rw-rw-r--
2022-10-31 11:36
bug62885.phpt
591
B
-rw-rw-r--
2022-10-31 11:36
bug63398.phpt
917
B
-rw-rw-r--
2022-10-31 11:36
bug64726.phpt
668
B
-rw-rw-r--
2022-10-31 11:36
bug66043.phpt
617
B
-rw-rw-r--
2022-10-31 11:36
bug66124.phpt
2.04
KB
-rw-rw-r--
2022-10-31 11:36
bug66762.phpt
631
B
-rw-rw-r--
2022-10-31 11:36
bug67839.phpt
1.86
KB
-rw-rw-r--
2022-10-31 11:36
bug67983.phpt
834
B
-rw-rw-r--
2022-10-31 11:36
bug68077.phpt
2.53
KB
-rw-rw-r--
2022-10-31 11:36
bug69899.phpt
971
B
-rw-rw-r--
2022-10-31 11:36
bug70384.phpt
1.98
KB
-rw-rw-r--
2022-10-31 11:36
bug70949.phpt
1.44
KB
-rw-rw-r--
2022-10-31 11:36
bug71863.phpt
1.22
KB
-rw-rw-r--
2022-10-31 11:36
bug72489.phpt
1.77
KB
-rw-rw-r--
2022-10-31 11:36
bug72701.phpt
638
B
-rw-rw-r--
2022-10-31 11:36
bug73462.phpt
1.1
KB
-rw-rw-r--
2022-10-31 11:36
bug73800.phpt
733
B
-rw-rw-r--
2022-10-31 11:36
bug73949.phpt
486
B
-rw-rw-r--
2022-10-31 11:36
bug74021.phpt
693
B
-rw-rw-r--
2022-10-31 11:36
bug74547.phpt
658
B
-rw-rw-r--
2022-10-31 11:36
bug74595.phpt
480
B
-rw-rw-r--
2022-10-31 11:36
bug74737.phpt
359
B
-rw-rw-r--
2022-10-31 11:36
bug74779.phpt
1.09
KB
-rw-rw-r--
2022-10-31 11:36
bug74968.phpt
637
B
-rw-rw-r--
2022-10-31 11:36
bug75018.phpt
827
B
-rw-rw-r--
2022-10-31 11:36
bug75434.phpt
570
B
-rw-rw-r--
2022-10-31 11:36
bug75448.phpt
503
B
-rw-rw-r--
2022-10-31 11:36
bug76386.phpt
3.62
KB
-rw-rw-r--
2022-10-31 11:36
bug77597.phpt
612
B
-rw-rw-r--
2022-10-31 11:36
bug77935.phpt
759
B
-rw-rw-r--
2022-10-31 11:36
bug77956.phpt
2.19
KB
-rw-rw-r--
2022-10-31 11:36
bug79084.phpt
1.38
KB
-rw-rw-r--
2022-10-31 11:36
bug79084_collision.phpt
1.18
KB
-rw-rw-r--
2022-10-31 11:36
bug79375.phpt
5.32
KB
-rw-rw-r--
2022-10-31 11:36
bug80837.phpt
936
B
-rw-rw-r--
2022-10-31 11:36
bug_bits.phpt
2.39
KB
-rw-rw-r--
2022-10-31 11:36
bug_mysql_49406.phpt
3.56
KB
-rw-rw-r--
2022-10-31 11:36
clean_table.inc
470
B
-rw-rw-r--
2022-10-31 11:36
connect.inc
5.52
KB
-rw-rw-r--
2022-10-31 11:36
gracefull_fail_on_empty_result_set.phpt
1.08
KB
-rw-rw-r--
2022-10-31 11:36
local_infile_tools.inc
5.33
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_affected_rows.phpt
5.43
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_affected_rows_oo.phpt
4.32
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_auth_pam.phpt
4.27
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_autocommit.phpt
5.7
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_autocommit_oo.phpt
4.92
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_begin_transaction.phpt
4.84
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_change_user.phpt
6.59
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_change_user_get_lock.phpt
4.12
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_change_user_insert_id.phpt
2.19
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_change_user_locks_temporary.phpt
3.63
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_change_user_new.phpt
1.28
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_change_user_old.phpt
4.71
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_change_user_oo.phpt
3.13
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_change_user_prepared_statements.phpt
986
B
-rw-rw-r--
2022-10-31 11:36
mysqli_change_user_rollback.phpt
2.23
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_change_user_set_names.phpt
6.13
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_character_set.phpt
3.88
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_character_set_name.phpt
3.05
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_character_set_name_oo.phpt
2.74
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_class_mysqli_driver_interface.phpt
2.93
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_class_mysqli_driver_reflection.phpt
1.74
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_class_mysqli_interface.phpt
10.68
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_class_mysqli_properties_no_conn.phpt
10.36
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_class_mysqli_reflection.phpt
24.59
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_class_mysqli_result_interface.phpt
6.46
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_class_mysqli_result_reflection.phpt
6.67
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_class_mysqli_stmt_interface.phpt
5.28
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_class_mysqli_warning.phpt
3.61
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_class_mysqli_warning_reflection.phpt
2.06
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_close.phpt
1.15
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_close_oo.phpt
1.01
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_commit.phpt
2.7
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_commit_oo.phpt
3.54
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_connect.phpt
6.52
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_connect_attr.phpt
2.86
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_connect_errno.phpt
1.36
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_connect_error.phpt
1.26
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_connect_oo.phpt
5.58
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_connect_oo_defaults.phpt
5.32
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_connect_oo_warnings.phpt
1.65
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_connect_twice.phpt
3.26
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_constants.phpt
8.49
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_constants_categories.phpt
607
B
-rw-rw-r--
2022-10-31 11:36
mysqli_data_seek.phpt
2.43
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_data_seek_oo.phpt
2.77
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_debug.phpt
2.21
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_debug_append.phpt
3.4
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_debug_control_string.phpt
2.67
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_debug_ini.phpt
1.43
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_debug_mysqlnd_control_string.phpt
9.36
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_debug_mysqlnd_only.phpt
3.95
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_disable_reads_from_master.phpt
1.41
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_driver.phpt
4.26
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_driver_unclonable.phpt
399
B
-rw-rw-r--
2022-10-31 11:36
mysqli_dump_debug_info.phpt
1.33
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_dump_debug_info_oo.phpt
1.13
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_embedded_connect.phpt
935
B
-rw-rw-r--
2022-10-31 11:36
mysqli_enable_reads_from_master.phpt
1.36
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_errno.phpt
1.35
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_errno_oo.phpt
1.19
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_error.phpt
1.57
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_error_oo.phpt
1.41
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_error_unicode.phpt
1.35
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_expire_password.phpt
5.61
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_explain_metadata.phpt
5.97
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_all.phpt
16.87
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_all_oo.phpt
15.81
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_array.phpt
15.89
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_array_assoc.phpt
1013
B
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_array_large.phpt
5.81
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_array_many_rows.phpt
3.62
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_array_oo.phpt
14.82
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_assoc.phpt
2.34
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_assoc_bit.phpt
4.32
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_assoc_no_alias.phpt
3.2
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_assoc_no_alias_utf8.phpt
4.6
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_assoc_oo.phpt
2.05
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_assoc_zerofill.phpt
2.21
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_field.phpt
4.19
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_field_direct.phpt
1.97
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_field_direct_oo.phpt
2.38
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_field_flags.phpt
8.77
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_field_oo.phpt
3.12
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_field_types.phpt
4.94
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_fields.phpt
2.99
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_lengths.phpt
1.42
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_lengths_oo.phpt
995
B
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_object.phpt
5.7
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_object_no_constructor.phpt
1.84
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_object_no_object.phpt
583
B
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_object_oo.phpt
5.32
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fetch_row.phpt
1.17
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_field_count.phpt
1.52
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_field_seek.phpt
5.6
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_field_tell.phpt
2.28
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_fork.phpt
10.68
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_free_result.phpt
1.9
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_get_charset.phpt
4.75
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_get_client_info.phpt
407
B
-rw-rw-r--
2022-10-31 11:36
mysqli_get_client_stats.phpt
55.83
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_get_client_stats_implicit_free.phpt
1.29
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_get_client_stats_off.phpt
1.14
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_get_client_stats_ps.phpt
4.44
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_get_client_stats_skipped.phpt
1.67
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_get_client_version.phpt
340
B
-rw-rw-r--
2022-10-31 11:36
mysqli_get_connection_stats.phpt
2.51
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_get_connection_stats_off.phpt
1.61
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_get_host_info.phpt
1.09
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_get_proto_info.phpt
832
B
-rw-rw-r--
2022-10-31 11:36
mysqli_get_server_info.phpt
902
B
-rw-rw-r--
2022-10-31 11:36
mysqli_get_server_version.phpt
837
B
-rw-rw-r--
2022-10-31 11:36
mysqli_get_warnings.phpt
6.65
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_info.phpt
3.65
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_init.phpt
583
B
-rw-rw-r--
2022-10-31 11:36
mysqli_insert_id.phpt
5.42
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_insert_id_variation.phpt
3.04
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_insert_packet_overflow.phpt
4.23
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_kill.phpt
3.65
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_last_insert_id.phpt
7.26
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_local_infile_default_off.phpt
566
B
-rw-rw-r--
2022-10-31 11:36
mysqli_local_infile_set_on.phpt
583
B
-rw-rw-r--
2022-10-31 11:36
mysqli_max_links.phpt
2.43
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_more_results.phpt
2.33
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_multi_query.phpt
4.06
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_mysqlnd_read_timeout.phpt
895
B
-rw-rw-r--
2022-10-31 11:36
mysqli_mysqlnd_read_timeout_long.phpt
1.21
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_mysqlnd_read_timeout_zero.phpt
1.17
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_next_result.phpt
2.39
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_next_result_error.phpt
1.39
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_next_result_no_repeat_error.phpt
467
B
-rw-rw-r--
2022-10-31 11:36
mysqli_no_reconnect.phpt
4.87
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_num_fields.phpt
1.68
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_num_rows.phpt
2.83
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_open_bug74432.phpt
666
B
-rw-rw-r--
2022-10-31 11:36
mysqli_options.phpt
5.78
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_options_init_command.phpt
2.85
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_options_int_and_float_native.phpt
3.29
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_options_openbasedir.phpt
847
B
-rw-rw-r--
2022-10-31 11:36
mysqli_pam_sha256.phpt
3.51
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_pam_sha256_public_key_ini.phpt
4.02
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_pam_sha256_public_key_option.phpt
4.34
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_pam_sha256_public_key_option_invalid.phpt
6.32
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_pconn_conn_multiple.phpt
6.45
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_pconn_disabled.phpt
2.45
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_pconn_kill.phpt
3.87
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_pconn_limits.phpt
3.52
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_pconn_max_links.phpt
9.89
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_pconn_reuse.phpt
3.86
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_pconn_twice.phpt
2.58
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_pconnect.phpt
2.14
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_phpinfo.phpt
1.84
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_ping.phpt
1.15
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_poll.phpt
5.35
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_poll_kill.phpt
7.31
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_poll_mixing_insert_select.phpt
6.19
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_poll_reference.phpt
6.82
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_prepare.phpt
5.23
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_prepare_no_object.phpt
1.62
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_ps_select_union.phpt
9.34
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_query.phpt
5.02
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_query_iterators.phpt
3.14
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_query_stored_proc.phpt
7.11
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_query_unicode.phpt
4.2
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_real_connect.phpt
7.17
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_real_connect_compression_error.phpt
1.47
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_real_connect_pconn.phpt
5.67
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_real_escape_string.phpt
1.88
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_real_escape_string_big5.phpt
2.55
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_real_escape_string_eucjpms.phpt
2.71
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_real_escape_string_euckr.phpt
2.4
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_real_escape_string_gb2312.phpt
2.36
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_real_escape_string_gbk.phpt
2.45
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_real_escape_string_nobackslash.phpt
2.3
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_real_escape_string_sjis.phpt
1.62
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_real_escape_string_unicode.phpt
3.56
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_real_query.phpt
4.28
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_reap_async_query.phpt
3.23
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_reconnect.phpt
4.89
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_release_savepoint.phpt
3.16
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_report.phpt
13.95
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_report_new.phpt
1.43
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_report_wo_ps.phpt
4.92
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_result_invalid_mode.phpt
696
B
-rw-rw-r--
2022-10-31 11:36
mysqli_result_references.phpt
3.42
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_result_references_mysqlnd.phpt
2.83
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_result_unclonable.phpt
822
B
-rw-rw-r--
2022-10-31 11:36
mysqli_rollback.phpt
2.69
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_savepoint.phpt
2.61
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_select_db.phpt
4.24
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_send_query.phpt
1.63
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_set_charset.phpt
5.09
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_set_opt.phpt
2.28
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_sqlstate.phpt
1.06
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_ssl_set.phpt
2.04
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stat.phpt
1.07
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_affected_rows.phpt
10.22
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_attr_get.phpt
2.1
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_attr_get_prefetch.phpt
700
B
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_attr_set.phpt
9.9
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_big_prepare.phpt
43.06
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_bind_limits.phpt
4.26
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_bind_param.phpt
19.98
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_bind_param_call_user_func.phpt
13.13
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_bind_param_check_param_no_change.phpt
2.21
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_bind_param_many_columns.phpt
3.28
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_bind_param_references.phpt
7.11
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_bind_param_type_juggling.phpt
4.77
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_bind_result.phpt
16.06
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_bind_result_bit.phpt
6
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_bind_result_format.phpt
12.67
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_bind_result_references.phpt
9.13
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_bind_result_zerofill.phpt
2.82
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_close.phpt
3.07
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_data_seek.phpt
2.99
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_datatype_change.phpt
2.36
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_errno.phpt
2.08
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_error.phpt
2.11
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_execute.phpt
5.65
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_execute_stored_proc.phpt
8.63
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_execute_stored_proc_next_result.phpt
5.12
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_execute_stored_proc_out.phpt
2.92
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_fetch.phpt
3.41
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_fetch_bit.phpt
3.16
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_fetch_fields_win32_unicode.phpt
1.4
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_fetch_geom.phpt
5.92
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_field_count.phpt
3.83
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_free_result.phpt
2.78
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_get_result.phpt
7.7
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_get_result2.phpt
6.38
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_get_result_bit.phpt
4.91
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_get_result_field_count.phpt
1.52
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_get_result_geom.phpt
6.05
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_get_result_metadata.phpt
9.42
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_get_result_metadata_fetch_field.phpt
3.89
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_get_result_non_select.phpt
3.04
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_get_result_seek.phpt
4.65
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_get_result_types.phpt
13.12
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_get_warnings.phpt
3.88
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_init.phpt
1.55
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_insert_id.phpt
2.54
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_multires.phpt
2.82
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_num_rows.phpt
4.39
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_param_count.phpt
2.36
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_prepare.phpt
1.72
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_reset.phpt
3.89
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_result_metadata.phpt
4.18
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_result_metadata_sqltests.phpt
9.54
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_send_long_data.phpt
5.05
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_send_long_data_packet_size_libmysql.phpt
3.52
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_send_long_data_packet_size_mysqlnd.phpt
4.01
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_sqlstate.phpt
2.02
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_store_result.phpt
3.29
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_stmt_unclonable.phpt
825
B
-rw-rw-r--
2022-10-31 11:36
mysqli_store_result.phpt
2.02
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_store_result_buffered_c.phpt
1.01
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_store_result_copy.phpt
8.67
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_thread_id.phpt
1.12
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_thread_safe.phpt
293
B
-rw-rw-r--
2022-10-31 11:36
mysqli_unclonable.phpt
691
B
-rw-rw-r--
2022-10-31 11:36
mysqli_use_result.phpt
2.1
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_warning_count.phpt
1.52
KB
-rw-rw-r--
2022-10-31 11:36
mysqli_warning_unclonable.phpt
1.44
KB
-rw-rw-r--
2022-10-31 11:36
ps_cursor_multiple_result_sets.phpt
1.7
KB
-rw-rw-r--
2022-10-31 11:36
reflection_tools.inc
5.08
KB
-rw-rw-r--
2022-10-31 11:36
skipif.inc
93
B
-rw-rw-r--
2022-10-31 11:36
skipifconnectfailure.inc
351
B
-rw-rw-r--
2022-10-31 11:36
skipifemb.inc
130
B
-rw-rw-r--
2022-10-31 11:36
skipifnotemb.inc
128
B
-rw-rw-r--
2022-10-31 11:36
table.inc
1.03
KB
-rw-rw-r--
2022-10-31 11:36
Save
Rename
--TEST-- mysqli_stmt_bind_param() --SKIPIF-- <?php require_once('skipif.inc'); require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); ?> --FILE-- <?php /* The way we test the INSERT and data types overlaps with the mysqli_stmt_bind_result test in large parts. There is only one difference. This test uses mysqli_query()/mysqli_fetch_assoc() to fetch the inserted values. This way we test mysqli_query()/mysqli_fetch_assoc() for all possible data types in this file and we test mysqli_stmt_bind_result() in the other test -- therefore the "duplicate" makes some sense to me. */ require_once("connect.inc"); $tmp = NULL; $link = NULL; if (!is_null($tmp = @mysqli_stmt_bind_param())) printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); if (!is_null($tmp = @mysqli_stmt_bind_param($link))) printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); if (!is_null($tmp = @mysqli_stmt_bind_param($link, $link))) printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); require('table.inc'); $stmt = mysqli_stmt_init($link); if (!mysqli_stmt_prepare($stmt, "INSERT INTO test(id, label) VALUES (?, ?)")) printf("[003] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = null; $label = null; /* libmysql gives a less descriptive error message but mysqlnd, we did not unify the error messages but ignore this slight difference silently */ if (!false === ($tmp = @mysqli_stmt_bind_param($stmt, " ", $tmp))) printf("[003d] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp); if (!false === ($tmp = @mysqli_stmt_bind_param($stmt, "", $id, $label))) printf("[003a] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp); /* TODO: somehwhat undocumented syntax! */ $param = array($id); if (!false === ($tmp = mysqli_stmt_bind_param($stmt, "is", $param))) printf("[003b] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp); $param = array($id, $label, $id); if (!false === ($tmp = mysqli_stmt_bind_param($stmt, "is", $param))) printf("[003c] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp); if (!false === ($tmp = mysqli_stmt_bind_param($stmt, "a", $id))) printf("[004] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp); if (!false === ($tmp = mysqli_stmt_bind_param($stmt, "a", $id, $label))) printf("[005] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp); if (!false === ($tmp = mysqli_stmt_bind_param($stmt, "aa", $id, $label))) printf("[006] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp); if (!false === ($tmp = mysqli_stmt_bind_param($stmt, "ia", $id, $label))) printf("[007] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp); if (!true === ($tmp = mysqli_stmt_bind_param($stmt, "is", $id, $label))) printf("[008] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp); if (function_exists("memory_get_usage")) { $mem = memory_get_usage(); for ($i = 0; $i < 20000; $i++) { if (!true === ($tmp = mysqli_stmt_bind_param($stmt, "is", $id, $label))) printf("[008][$i] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp); } if (($tmp = (memory_get_usage() - $mem)) > 600) printf("[009] Function seems to be leaking, because it used %d bytes. During tests it used only 92 bytes.", $tmp); } $id = 100; $label = "z"; if (!mysqli_stmt_execute($stmt)) printf("[010] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); mysqli_stmt_close($stmt); if (!($res = mysqli_query($link, "SELECT id, label FROM test WHERE id = " . $id))) printf("[011] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); $row = mysqli_fetch_assoc($res); if (($row['id'] != $id) || ($row['label'] != $label)) printf("[012] Expecting '%s'/%s', got '%s'/%s'!\n", $id, $label, $row['id'], $row['label']); mysqli_free_result($res); function func_mysqli_stmt_bind_datatype($link, $engine, $bind_type, $sql_type, $bind_value, $offset, $alternative = null) { if (!mysqli_query($link, "DROP TABLE IF EXISTS test")) { printf("[%03d] [%d] %s\n", $offset, mysqli_errno($link), mysqli_error($link)); return false; } if (!mysqli_query($link, sprintf("CREATE TABLE test(id INT NOT NULL, label %s, PRIMARY KEY(id)) ENGINE = %s", $sql_type, $engine))) { // don't bail - it might be that the server does not support the data type return false; } if (!$stmt = mysqli_stmt_init($link)) { printf("[%03d] [%d] %s\n", $offset + 1, mysqli_errno($link), mysqli_error($link)); return false; } if (!mysqli_stmt_prepare($stmt, "INSERT INTO test(id, label) VALUE (?, ?)")) { printf("[%03d] [%d] %s\n", $offset + 2, mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); return false; } $id = 1; if (!mysqli_stmt_bind_param($stmt, "i" . $bind_type, $id, $bind_value)) { printf("[%03d] [%d] %s\n", $offset + 3, mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); return false; } if (!mysqli_stmt_execute($stmt)) { printf("[%03d] [%d] %s\n", $offset + 4, mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); return false; } mysqli_stmt_close($stmt); if (!$res = mysqli_query($link, "SELECT id, label FROM test")) { printf("[%03d] [%d] %s\n", $offset + 5, mysqli_errno($link), mysqli_error($link)); return false; } if (!$row = mysqli_fetch_assoc($res)) { printf("[%03d] [%d] %s\n", $offset + 5, mysqli_errno($link), mysqli_error($link)); return false; } if ($alternative) { if (($row['id'] != $id) || (($row['label'] != $bind_value) && ($row['label'] != $alternative))) { printf("[%03d] Testing '%s', '%s': expecting '%s'/'%s' (%s), got '%s'/'%s'\n", $offset + 6, $bind_type, $sql_type, $id, $bind_value, gettype($bind_value), $row['id'], $row['label']); return false; } } else { if (($row['id'] != $id) || ($row['label'] != $bind_value)) { printf("[%03d] Testing '%s', '%s': expecting '%s'/'%s', got '%s'/'%s'\n", $offset + 6, $bind_type, $sql_type, $id, $bind_value, $row['id'], $row['label']); return false; } } mysqli_free_result($res); return true; } function func_mysqli_stmt_bind_make_string($len) { $ret = ''; for ($i = 0; $i < $len; $i++) $ret .= chr(mt_rand(65, 90)); return $ret; } func_mysqli_stmt_bind_datatype($link, $engine, "i", "TINYINT", -11, 20); func_mysqli_stmt_bind_datatype($link, $engine, "i", "TINYINT", NULL, 30); func_mysqli_stmt_bind_datatype($link, $engine, "i", "TINYINT UNSIGNED", 1, 40); func_mysqli_stmt_bind_datatype($link, $engine, "i", "TINYINT UNSIGNED", NULL, 50); func_mysqli_stmt_bind_datatype($link, $engine, "i", "BOOL", 1, 60); func_mysqli_stmt_bind_datatype($link, $engine, "i", "BOOL", NULL, 70); func_mysqli_stmt_bind_datatype($link, $engine, "i", "BOOLEAN", 0, 80); func_mysqli_stmt_bind_datatype($link, $engine, "i", "BOOLEAN", NULL, 90); func_mysqli_stmt_bind_datatype($link, $engine, "i", "SMALLINT", -32768, 100); func_mysqli_stmt_bind_datatype($link, $engine, "i", "SMALLINT", 32767, 110); func_mysqli_stmt_bind_datatype($link, $engine, "i", "SMALLINT", NULL, 120); func_mysqli_stmt_bind_datatype($link, $engine, "i", "SMALLINT UNSIGNED", 65535, 130); func_mysqli_stmt_bind_datatype($link, $engine, "i", "SMALLINT UNSIGNED", NULL, 140); func_mysqli_stmt_bind_datatype($link, $engine, "i", "MEDIUMINT", -8388608, 150); func_mysqli_stmt_bind_datatype($link, $engine, "i", "MEDIUMINT", 8388607, 160); func_mysqli_stmt_bind_datatype($link, $engine, "i", "MEDIUMINT", NULL, 170); func_mysqli_stmt_bind_datatype($link, $engine, "i", "MEDIUMINT UNSIGNED", 16777215, 180); func_mysqli_stmt_bind_datatype($link, $engine, "i", "MEDIUMINT UNSIGNED", NULL, 190); func_mysqli_stmt_bind_datatype($link, $engine, "i", "INTEGER", -2147483648, 200); func_mysqli_stmt_bind_datatype($link, $engine, "i", "INTEGER", 2147483647, 210); func_mysqli_stmt_bind_datatype($link, $engine, "i", "INTEGER", NULL, 220); func_mysqli_stmt_bind_datatype($link, $engine, "i", "INTEGER UNSIGNED", (defined("PHP_INT_MAX")) ? min(4294967295, PHP_INT_MAX) : 1, 230); func_mysqli_stmt_bind_datatype($link, $engine, "d", "INTEGER UNSIGNED", 4294967295, 240); func_mysqli_stmt_bind_datatype($link, $engine, "i", "INTEGER UNSIGNED", NULL, 250); func_mysqli_stmt_bind_datatype($link, $engine, "i", "BIGINT", -1 * PHP_INT_MAX + 1, 260); func_mysqli_stmt_bind_datatype($link, $engine, "i", "BIGINT", NULL, 270); func_mysqli_stmt_bind_datatype($link, $engine, "i", "BIGINT", PHP_INT_MAX, 280); func_mysqli_stmt_bind_datatype($link, $engine, "i", "BIGINT UNSIGNED", NULL, 290); func_mysqli_stmt_bind_datatype($link, $engine, "s", "BIGINT", "-9223372036854775808", 900); // ?? func_mysqli_stmt_bind_datatype($link, $engine, "d", "BIGINT", -9223372036854775808, 910); func_mysqli_stmt_bind_datatype($link, $engine, "s", "BIGINT UNSIGNED", "18446744073709551615", 920); /* ?? func_mysqli_stmt_bind_datatype($link, $engine, "d", "FLOAT", -9223372036854775808 - 1.1, 300); func_mysqli_stmt_bind_datatype($link, $engine, "d", "FLOAT UNSIGNED", 18446744073709551615 + 1.1, 320); */ func_mysqli_stmt_bind_datatype($link, $engine, "d", "FLOAT", NULL, 310); func_mysqli_stmt_bind_datatype($link, $engine, "d", "FLOAT UNSIGNED ", NULL, 330); if (2147483647 == PHP_INT_MAX) { func_mysqli_stmt_bind_datatype($link, $engine, "d", "FLOAT UNSIGNED", PHP_INT_MAX, 930, '2.14748e+09'); func_mysqli_stmt_bind_datatype($link, $engine, "d", "FLOAT", -1 * PHP_INT_MAX + 1, 940, '-2.14748e+09'); } func_mysqli_stmt_bind_datatype($link, $engine, "s", "FLOAT", "-9223372036854775808", 300, '-9.22337e+18'); func_mysqli_stmt_bind_datatype($link, $engine, "s", "FLOAT UNSIGNED", "18446744073709551615", 320, '1.84467e+19'); func_mysqli_stmt_bind_datatype($link, $engine, "d", "FLOAT", -10.01, 950); func_mysqli_stmt_bind_datatype($link, $engine, "d", "FLOAT UNSIGNED", 10.01, 960); func_mysqli_stmt_bind_datatype($link, $engine, "d", "DOUBLE(10,2)", NULL, 350); func_mysqli_stmt_bind_datatype($link, $engine, "d", "DOUBLE(10,2) UNSIGNED", NULL, 370); func_mysqli_stmt_bind_datatype($link, $engine, "d", "DOUBLE(10,2)", -99999999.99, 340); func_mysqli_stmt_bind_datatype($link, $engine, "d", "DOUBLE(10,2) UNSIGNED", 99999999.99, 360); /* func_mysqli_stmt_bind_datatype($link, $engine, "d", "DOUBLE(10,2)", -99999999.99, 340); func_mysqli_stmt_bind_datatype($link, $engine, "d", "DOUBLE(10,2) UNSIGNED", 99999999.99, 360); */ func_mysqli_stmt_bind_datatype($link, $engine, "d", "DECIMAL(10,2)", -99999999.99, 380); func_mysqli_stmt_bind_datatype($link, $engine, "d", "DECIMAL(10,2)", NULL, 390); func_mysqli_stmt_bind_datatype($link, $engine, "d", "DECIMAL(10,2)", 99999999.99, 400); func_mysqli_stmt_bind_datatype($link, $engine, "d", "DECIMAL(10,2)", NULL, 410); // don't care about date() strict TZ warnings... func_mysqli_stmt_bind_datatype($link, $engine, "s", "DATE", @date('Y-m-d'), 420); func_mysqli_stmt_bind_datatype($link, $engine, "s", "DATE NOT NULL", @date('Y-m-d'), 430); func_mysqli_stmt_bind_datatype($link, $engine, "s", "DATE", NULL, 440); func_mysqli_stmt_bind_datatype($link, $engine, "s", "DATETIME", @date('Y-m-d H:i:s'), 450); func_mysqli_stmt_bind_datatype($link, $engine, "s", "DATETIME NOT NULL", @date('Y-m-d H:i:s'), 460); func_mysqli_stmt_bind_datatype($link, $engine, "s", "DATETIME", NULL, 470); func_mysqli_stmt_bind_datatype($link, $engine, "s", "TIMESTAMP", @date('Y-m-d H:i:s'), 480); func_mysqli_stmt_bind_datatype($link, $engine, "s", "TIME", @date('H:i:s'), 490); func_mysqli_stmt_bind_datatype($link, $engine, "s", "TIME NOT NULL", @date('H:i:s'), 500); func_mysqli_stmt_bind_datatype($link, $engine, "s", "TIME", NULL, 510); func_mysqli_stmt_bind_datatype($link, $engine, "s", "YEAR", @date('Y'), 520); func_mysqli_stmt_bind_datatype($link, $engine, "s", "YEAR NOT NULL", @date('Y'), 530); func_mysqli_stmt_bind_datatype($link, $engine, "s", "YEAR", NULL, 540); $string255 = func_mysqli_stmt_bind_make_string(255); func_mysqli_stmt_bind_datatype($link, $engine, "s", "CHAR(1)", "a", 550); func_mysqli_stmt_bind_datatype($link, $engine, "s", "CHAR(255)", $string255, 560); func_mysqli_stmt_bind_datatype($link, $engine, "s", "CHAR(1) NOT NULL", "a", 570); func_mysqli_stmt_bind_datatype($link, $engine, "s", "CHAR(1)", NULL, 580); $string65k = func_mysqli_stmt_bind_make_string(65535); func_mysqli_stmt_bind_datatype($link, $engine, "s", "VARCHAR(1)", "a", 590); func_mysqli_stmt_bind_datatype($link, $engine, "s", "VARCHAR(255)", $string255, 600); func_mysqli_stmt_bind_datatype($link, $engine, "s", "VARCHAR(65635)", $string65k, 610); func_mysqli_stmt_bind_datatype($link, $engine, "s", "VARCHAR(1) NOT NULL", "a", 620); func_mysqli_stmt_bind_datatype($link, $engine, "s", "VARCHAR(1)", NULL, 630); func_mysqli_stmt_bind_datatype($link, $engine, "s", "BINARY(1)", "a", 640); func_mysqli_stmt_bind_datatype($link, $engine, "s", "BINARY(1)", chr(0), 650); func_mysqli_stmt_bind_datatype($link, $engine, "s", "BINARY(1) NOT NULL", "b", 660); func_mysqli_stmt_bind_datatype($link, $engine, "s", "BINARY(1)", NULL, 670); func_mysqli_stmt_bind_datatype($link, $engine, "s", "VARBINARY(1)", "a", 680); func_mysqli_stmt_bind_datatype($link, $engine, "s", "VARBINARY(1)", chr(0), 690); func_mysqli_stmt_bind_datatype($link, $engine, "s", "VARBINARY(1) NOT NULL", "b", 700); func_mysqli_stmt_bind_datatype($link, $engine, "s", "VARBINARY(1)", NULL, 710); func_mysqli_stmt_bind_datatype($link, $engine, "s", "TINYBLOB", "a", 720); func_mysqli_stmt_bind_datatype($link, $engine, "s", "TINYBLOB", chr(0), 730); func_mysqli_stmt_bind_datatype($link, $engine, "s", "TINYBLOB NOT NULL", "b", 740); func_mysqli_stmt_bind_datatype($link, $engine, "s", "TINYBLOB", NULL, 750); func_mysqli_stmt_bind_datatype($link, $engine, "s", "TINYTEXT", "a", 760); func_mysqli_stmt_bind_datatype($link, $engine, "s", "TINYTEXT NOT NULL", "a", 770); func_mysqli_stmt_bind_datatype($link, $engine, "s", "TINYTEXT", NULL, 780); // Note: you cannot insert any blob values this way. But you can check the API at least partly this way // Extra BLOB tests are in mysqli_stmt_send_long() func_mysqli_stmt_bind_datatype($link, $engine, "b", "BLOB", "", 790); func_mysqli_stmt_bind_datatype($link, $engine, "b", "TEXT", "", 800); func_mysqli_stmt_bind_datatype($link, $engine, "b", "MEDIUMBLOB", "", 810); func_mysqli_stmt_bind_datatype($link, $engine, "b", "MEDIUMTEXT", "", 820); func_mysqli_stmt_bind_datatype($link, $engine, "b", "LONGBLOB", "", 830); func_mysqli_stmt_bind_datatype($link, $engine, "b", "LONGTEXT", "", 840); func_mysqli_stmt_bind_datatype($link, $engine, "s", "ENUM('a', 'b')", "a", 850); func_mysqli_stmt_bind_datatype($link, $engine, "s", "ENUM('a', 'b')", NULL, 860); func_mysqli_stmt_bind_datatype($link, $engine, "s", "SET('a', 'b')", "a", 870); func_mysqli_stmt_bind_datatype($link, $engine, "s", "SET('a', 'b')", NULL, 880); if (mysqli_get_server_version($link) >= 50600) func_mysqli_stmt_bind_datatype($link, $engine, "s", "TIME", "13:27:34.123456", 890, "13:27:34"); $stmt = mysqli_stmt_init($link); if (!mysqli_stmt_prepare($stmt, "INSERT INTO test(id, label) VALUES (?, ?)")) printf("[2000] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = null; $label = null; if (true !== ($tmp = mysqli_stmt_bind_param($stmt, "is", $id, $label))) printf("[2001] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); mysqli_stmt_execute($stmt); if (true !== ($tmp = mysqli_stmt_bind_param($stmt, "is", $id, $label))) printf("[2002] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); mysqli_stmt_close($stmt); include("table.inc"); if (!$stmt = mysqli_stmt_init($link)) printf("[2003] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!mysqli_stmt_prepare($stmt, "INSERT INTO test(id, label) VALUES (?, ?)")) printf("[2004] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = $label = null; if (true !== ($tmp = $stmt->bind_param('is', $id, $label))) printf("[2005] Expecting boolean/true got %s/%s, [%d] %s\n", gettype($tmp), $tmp, $stmt->errno, $stmt->error); $id = 100; $label = 'z'; if (!$stmt->execute()) printf("[2006] [%d] %s\n", $stmt->errno, $stmt->error); if (!$res = mysqli_query($link, "SELECT id, label FROM test WHERE id = 100")) printf("[2007] Expecting record 100/z, [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!$row = mysqli_fetch_assoc($res)) printf("[2008] Expecting row, [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if ($row['id'] != 100 || $row['label'] != 'z') { printf("[2009] Row seems wrong, dumping record\n"); var_dump($row); } mysqli_free_result($res); $value_list = array(array('id' => 101, 'label' => 'a'), array('id' => 102, 'label' => 'b')); if (!mysqli_stmt_prepare($stmt, "INSERT INTO test(id, label) VALUES (?, ?)")) printf("[2010] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); foreach ($value_list as $k => $values) { if (!mysqli_stmt_bind_param($stmt, 'is', $values['id'], $values['label'])) { printf("[2011] bind_param() failed for id = %d, [%d] %s\n", $values['id'], mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); continue; } if (!$stmt->execute()) printf("[2012] [%d] execute() failed for id = %d, [%d] %s\n", $values['id'], mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!$res = mysqli_query($link, sprintf("SELECT label FROM test WHERE id = %d", $values['id']))) printf("[2013] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!$row = mysqli_fetch_assoc($res)) printf("[2014] Cannot find row id = %d\n", $values['id']); else if (isset($row['label']) && ($values['label'] != $row['label'])) printf("[2015] Expecting label = %s, got label = %s\n", $values['label'], $row['label']); mysqli_free_result($res); } mysqli_stmt_close($stmt); mysqli_close($link); /* Check that the function alias exists. It's a deprecated function, but we have not announce the removal so far, therefore we need to check for it */ if (!is_null($tmp = @mysqli_stmt_bind_param())) printf("[021] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); print "done!"; ?> --CLEAN-- <?php require_once("clean_table.inc"); ?> --EXPECTF-- Warning: mysqli_stmt_bind_param(): Number of elements in type definition string doesn't match number of bind variables in %s on line %d Warning: mysqli_stmt_bind_param(): Number of elements in type definition string doesn't match number of bind variables in %s on line %d Warning: mysqli_stmt_bind_param(): Number of variables doesn't match number of parameters in prepared statement in %s on line %d Warning: mysqli_stmt_bind_param(): Number of elements in type definition string doesn't match number of bind variables in %s on line %d Warning: mysqli_stmt_bind_param(): Undefined fieldtype a (parameter 3) in %s on line %d Warning: mysqli_stmt_bind_param(): Undefined fieldtype a (parameter 4) in %s on line %d done!