77use PhpMyAdmin \DatabaseInterface ;
88use PhpMyAdmin \Util ;
99
10+ use function sprintf ;
11+
1012/**
1113 * Set of functions used for cleaning up phpMyAdmin tables
1214 */
@@ -30,59 +32,60 @@ public function __construct(public $dbi, Relation $relation)
3032 * @param string $table table name
3133 * @param string $column column name
3234 */
33- public function column ($ db , $ table , $ column ): void
35+ public function column (string $ db , string $ table , string $ column ): void
3436 {
3537 $ relationParameters = $ this ->relation ->getRelationParameters ();
36-
37- if ($ relationParameters ->columnCommentsFeature !== null ) {
38- $ remove_query = 'DELETE FROM '
39- . Util::backquote ($ relationParameters ->columnCommentsFeature ->database )
40- . '. ' . Util::backquote ($ relationParameters ->columnCommentsFeature ->columnInfo )
41- . ' WHERE db_name = \'' . $ this ->dbi ->escapeString ($ db ) . '\''
42- . ' AND table_name = \'' . $ this ->dbi ->escapeString ($ table )
43- . '\''
44- . ' AND column_name = \'' . $ this ->dbi ->escapeString ($ column )
45- . '\'' ;
46- $ this ->dbi ->queryAsControlUser ($ remove_query );
38+ $ columnCommentsFeature = $ relationParameters ->columnCommentsFeature ;
39+ $ displayFeature = $ relationParameters ->displayFeature ;
40+ $ relationFeature = $ relationParameters ->relationFeature ;
41+
42+ if ($ columnCommentsFeature !== null ) {
43+ $ statement = sprintf (
44+ 'DELETE FROM %s.%s WHERE db_name = %s AND table_name = %s AND column_name = %s ' ,
45+ Util::backquote ($ columnCommentsFeature ->database ),
46+ Util::backquote ($ columnCommentsFeature ->columnInfo ),
47+ $ this ->dbi ->quoteString ($ db ),
48+ $ this ->dbi ->quoteString ($ table ),
49+ $ this ->dbi ->quoteString ($ column ),
50+ );
51+ $ this ->dbi ->queryAsControlUser ($ statement );
4752 }
4853
49- if ($ relationParameters -> displayFeature !== null ) {
50- $ remove_query = ' DELETE FROM '
51- . Util:: backquote ( $ relationParameters -> displayFeature -> database )
52- . ' . ' . Util::backquote ($ relationParameters -> displayFeature ->tableInfo )
53- . ' WHERE db_name = \'' . $ this -> dbi -> escapeString ( $ db ) . '\''
54- . ' AND table_name = \'' . $ this ->dbi ->escapeString ( $ table )
55- . '\''
56- . ' AND display_field = \'' . $ this ->dbi ->escapeString ($ column )
57- . '\'' ;
58- $ this ->dbi ->queryAsControlUser ($ remove_query );
54+ if ($ displayFeature !== null ) {
55+ $ statement = sprintf (
56+ ' DELETE FROM %s.%s WHERE db_name = %s AND table_name = %s AND display_field = %s ' ,
57+ Util::backquote ($ displayFeature ->database ),
58+ Util:: backquote ( $ displayFeature -> tableInfo ),
59+ $ this ->dbi ->quoteString ( $ db ),
60+ $ this -> dbi -> quoteString ( $ table ),
61+ $ this ->dbi ->quoteString ($ column ),
62+ ) ;
63+ $ this ->dbi ->queryAsControlUser ($ statement );
5964 }
6065
61- if ($ relationParameters -> relationFeature === null ) {
66+ if ($ relationFeature === null ) {
6267 return ;
6368 }
6469
65- $ remove_query = 'DELETE FROM '
66- . Util::backquote ($ relationParameters ->relationFeature ->database )
67- . '. ' . Util::backquote ($ relationParameters ->relationFeature ->relation )
68- . ' WHERE master_db = \'' . $ this ->dbi ->escapeString ($ db )
69- . '\''
70- . ' AND master_table = \'' . $ this ->dbi ->escapeString ($ table )
71- . '\''
72- . ' AND master_field = \'' . $ this ->dbi ->escapeString ($ column )
73- . '\'' ;
74- $ this ->dbi ->queryAsControlUser ($ remove_query );
75-
76- $ remove_query = 'DELETE FROM '
77- . Util::backquote ($ relationParameters ->relationFeature ->database )
78- . '. ' . Util::backquote ($ relationParameters ->relationFeature ->relation )
79- . ' WHERE foreign_db = \'' . $ this ->dbi ->escapeString ($ db )
80- . '\''
81- . ' AND foreign_table = \'' . $ this ->dbi ->escapeString ($ table )
82- . '\''
83- . ' AND foreign_field = \'' . $ this ->dbi ->escapeString ($ column )
84- . '\'' ;
85- $ this ->dbi ->queryAsControlUser ($ remove_query );
70+ $ statement = sprintf (
71+ 'DELETE FROM %s.%s WHERE master_db = %s AND master_table = %s AND master_field = %s ' ,
72+ Util::backquote ($ relationFeature ->database ),
73+ Util::backquote ($ relationFeature ->relation ),
74+ $ this ->dbi ->quoteString ($ db ),
75+ $ this ->dbi ->quoteString ($ table ),
76+ $ this ->dbi ->quoteString ($ column ),
77+ );
78+ $ this ->dbi ->queryAsControlUser ($ statement );
79+
80+ $ statement = sprintf (
81+ 'DELETE FROM %s.%s WHERE foreign_db = %s AND foreign_table = %s AND foreign_field = %s ' ,
82+ Util::backquote ($ relationFeature ->database ),
83+ Util::backquote ($ relationFeature ->relation ),
84+ $ this ->dbi ->quoteString ($ db ),
85+ $ this ->dbi ->quoteString ($ table ),
86+ $ this ->dbi ->quoteString ($ column ),
87+ );
88+ $ this ->dbi ->queryAsControlUser ($ statement );
8689 }
8790
8891 /**
0 commit comments