C:\xampp\phpMyAdmin\libraries\db_table_exists.inc.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Ensure the database and the table exist (else move to the "parent" script)
 * and display headers
 *
 * @package PhpMyAdmin
 */

use PhpMyAdmin\Core;
use 
PhpMyAdmin\Message;
use 
PhpMyAdmin\Response;
use 
PhpMyAdmin\Url;

if (! 
defined('PHPMYADMIN')) {
    exit;
}

if (empty(
$is_db)) {
    if (
strlen($db) > 0) {
        
$is_db = @$GLOBALS['dbi']->selectDb($db);
    } else {
        
$is_db false;
    }

    if (! 
$is_db) {
        
// not a valid db name -> back to the welcome page
        
if (! defined('IS_TRANSFORMATION_WRAPPER')) {
            
$response Response::getInstance();
            if (
$response->isAjax()) {
                
$response->setRequestStatus(false);
                
$response->addJSON(
                    
'message',
                    
Message::error(__('No databases selected.'))
                );
            } else {
                
$url_params = array('reload' => 1);
                if (isset(
$message)) {
                    
$url_params['message'] = $message;
                }
                if (! empty(
$sql_query)) {
                    
$url_params['sql_query'] = $sql_query;
                }
                if (isset(
$show_as_php)) {
                    
$url_params['show_as_php'] = $show_as_php;
                }
                
Core::sendHeaderLocation(
                    
'./index.php'
                    
Url::getCommonRaw($url_params)
                );
            }
            exit;
        }
    }
// end if (ensures db exists)

if (empty($is_table)
    && !
defined('PMA_SUBMIT_MULT')
    && !
defined('TABLE_MAY_BE_ABSENT')
) {
    
// Not a valid table name -> back to the db_sql.php

    
if (strlen($table) > 0) {
        
$is_table $GLOBALS['dbi']->getCachedTableContent(array($db$table), false);

        if (! 
$is_table) {
            
$_result $GLOBALS['dbi']->tryQuery(
                
'SHOW TABLES LIKE \''
                
$GLOBALS['dbi']->escapeString($table) . '\';',
                
PhpMyAdmin\DatabaseInterface::CONNECT_USER,
                
PhpMyAdmin\DatabaseInterface::QUERY_STORE
            
);
            
$is_table = @$GLOBALS['dbi']->numRows($_result);
            
$GLOBALS['dbi']->freeResult($_result);
        }
    } else {
        
$is_table false;
    }

    if (! 
$is_table) {
        if (!
defined('IS_TRANSFORMATION_WRAPPER')) {
            if (
strlen($table) > 0) {
                
// SHOW TABLES doesn't show temporary tables, so try select
                // (as it can happen just in case temporary table, it should be
                // fast):

                /**
                 * @todo should this check really
                 * only happen if IS_TRANSFORMATION_WRAPPER?
                 */
                
$_result $GLOBALS['dbi']->tryQuery(
                    
'SELECT COUNT(*) FROM ' PhpMyAdmin\Util::backquote($table)
                    . 
';',
                    
PhpMyAdmin\DatabaseInterface::CONNECT_USER,
                    
PhpMyAdmin\DatabaseInterface::QUERY_STORE
                
);
                
$is_table = ($_result && @$GLOBALS['dbi']->numRows($_result));
                
$GLOBALS['dbi']->freeResult($_result);
            }

            if (! 
$is_table) {
                include 
'./db_sql.php';
                exit;
            }
        }

        if (! 
$is_table) {
            exit;
        }
    }
// end if (ensures table exists)
x

Windows NT KPTV 6.2 build 9200 (Windows Server 2012 Datacenter Edition) i586