2016-03-16 22 views
6


मैं डेटाबेस से सभी MySQL तालिकाओं को वापस करने का प्रयास करता हूं और उदाहरण के लिए विशिष्ट उदाहरण को छोड़ देता हूं। मैं अपने तालिका नाम मुद्रित करने के लिए कोड निम्न का उपयोग करें:सभी MySQL तालिकाओं को सूचीबद्ध करें और विशिष्ट एक

function findTables() { 
    global $conn; 
    global $DB; 

    $query = "SHOW TABLES FROM $DB "; 
    $showTablesFromDb = mysqli_query($conn, $query); 
    while($row = mysqli_fetch_row($showTablesFromDb)) { 
     echo "<li><a href='admin.php?show={$row[0]}'>{$row[0]}</a></li>"; 
    } 
} 
+0

आपका प्रश्न क्या है? –

+0

उपरोक्त कोड सभी तालिकाओं को दिखाता है और यह अच्छा है लेकिन प्रोसेस के दौरान मैं लूप से एक विशेष तालिका को बाहर करना चाहता हूं - उदाहरण के लिए उपयोगकर्ता – Ganga

उत्तर

6

समाधान हो जाएगा:

show tables where tables_in_$DB not like 'a%'; 

यहाँ कुछ क़ौम हैं:

mysql> show tables; 
+-----------------+ 
| Tables_in_test3 | 
+-----------------+ 
| a1    | 
| t1    | 
| t2    | 
+-----------------+ 
3 rows in set (0.00 sec) 

-- LIKE is simpler than NOT LIKE 
mysql> show tables like 'a%'; 
+----------------------+ 
| Tables_in_test3 (a%) | 
+----------------------+ 
| a1     | 
+----------------------+ 
1 row in set (0.00 sec) 

-- `show tables not like 'a%'` is not working, 
-- use the following way for NOT LIKE matching 
mysql> show tables where tables_in_test3 not like 'a%'; 
+-----------------+ 
| Tables_in_test3 | 
+-----------------+ 
| t1    | 
| t2    | 
+-----------------+ 
2 rows in set (0.01 sec) 
+0

पर्याप्त मेला - लेकिन सही क्वेरी है: 'टैबलेट दिखाएं जहां table_in_ $ डीबी $ डेटाबेस_नाम नहीं है'। वैसे भी एक संकेत के लिए धन्यवाद - मैं इसे स्वीकृत – Ganga

+0

के रूप में चिह्नित करता हूं धन्यवाद, मुझे पता था कि '%' 'कामों की तरह सारणी दिखाएं, और फिर माना जाता है कि यह भी काम नहीं करता है। उस समय जल्दी में था। मैंने बस अधिक जानकारी और डेमो के साथ पोस्ट अपडेट किया। –

2

ऊपर जवाब काम नहीं करता है, इसे आजमाएं:

SHOW TABLES FROM $DB WHERE Tables_in_$DB NOT LIKE 'foo' 
संबंधित मुद्दे