복붙노트

[SQL] MySQL 데이터베이스에서 PHP의 모든 테이블 이름을 표시

SQL

MySQL 데이터베이스에서 PHP의 모든 테이블 이름을 표시

내가 PHP와 SQL / MySQL로 비교적 새로운 해요, 그래서 좋아, 어떤 도움에 감사드립니다 있도록.

내가 올바른 접근을했다 같은 느낌. 나는 그것이 사용되지 않는 방법을 반환하고 [LIKE '패턴'] I 아니에요 있는지 무엇을 "패턴"이라하지만, [DB_NAME FROM] 쇼 테이블에 MySQL의 쿼리를 사용하여 제안, "모든 테이블 이름을 표시 MYSQL"에 대한 php.net을 검색 나는 "SQL 와일드 카드"를 검색하고 "%"기호를 얻었다. 내가 찾은 모든에 따르면,이 일을하고 출력 테이블 이름을 말에, 그러나 그렇지 않습니다한다. 어떤 제안? 미리 감사드립니다.

<?php
if ($_REQUEST["username"]=="coke"&&$_REQUEST["password"]=="pepsi"){
echo 'You have successfully logged in.';
echo '<br />';
echo 'These are your tables:';
echo '<br />';

   $link = mysql_connect("sql2.njit.edu", "username", "password");

   mysql_select_db("db_name") or die(mysql_error());

   $result = mysql_query('SHOW TABLES [FROM db_name] [LIKE '%']');
   echo $result;
}
else
echo 'You did not provide the proper authentication';
?>

나는 오류를 얻을 수 없습니다. 출력은 에코 정확히 무엇 없지만, 어떤 테이블 이름.

해결법

  1. ==============================

    1.코드에서 대괄호는 선택적 매개 변수의 그룹을 나타 내기 위해 MySQL의 문서에 사용됩니다. 그들은 실제 쿼리해서는 안됩니다.

    코드에서 대괄호는 선택적 매개 변수의 그룹을 나타 내기 위해 MySQL의 문서에 사용됩니다. 그들은 실제 쿼리해서는 안됩니다.

    은 당신이 실제로 필요가있다 명령 :

    show tables;
    

    특정 데이터베이스에서 테이블을 원하는 경우,하자의 데이터베이스 "책"그때는 것 말

    show tables from books;
    

    당신은 이름이 특정 패턴과 일치하는 테이블을 찾으려는 경우에만 LIKE 부분이 필요합니다. 예를 들면,

    show tables from books like '%book%';
    

    당신에게 이름에 "책"어딘가에있는 테이블의 이름을 표시합니다.

    또한, 단지 '쇼 테이블 "쿼리를 실행하면 볼 수있는 출력을 생성하지 않습니다. SQL 쿼리에 응답하고 PHP로 전달합니다, 그러나 당신은 페이지에 반향 PHP를 알 필요가있다.

    당신은 SQL에 아주 새로운 것처럼 소리 때문에 (이 시스템에 설치되어있는 경우, 또는 phpMyAdmin을 사용), 나는 명령 줄에서 mysql 클라이언트를 실행하는 것이 좋습니다 것입니다. 그 방법은 쿼리를 보내고 결과를받는 PHP의 함수를 통해 갈 필요없이 다양한 쿼리의 결과를 볼 수 있습니다.

    당신이 PHP를 사용하는 경우, 여기 아주 간단한 데모입니다. 데이터베이스에 연결 한 후이 코드를보십시오 :

    $result = mysql_query("show tables"); // run the query and assign the result to $result
    while($table = mysql_fetch_array($result)) { // go through each row that was returned in $result
        echo($table[0] . "<BR>");    // print the table that was returned on that row.
    }
    
  2. ==============================

    2.PDO 문을 사용하는 사람들을 위해

    PDO 문을 사용하는 사람들을 위해

    $query = $db->prepare('show tables');
    $query->execute();
    
    while($rows = $query->fetch(PDO::FETCH_ASSOC)){
         var_dump($rows);
    }
    
  3. ==============================

    3.

    SHOW TABLES
    

    당신의 DB의 모든 테이블을 표시합니다. 당신이 이름을 필터링 할 경우에 당신은 LIKE 와일드 카드 %를 사용

    SHOW TABLES FROM my_database LIKE '%user%'
    

    의 이름은 '사용자'를 포함하는 것이 예를 들어, 모든 테이블을 줄 것이다

    users
    user_pictures
    mac_users
    

    기타

  4. ==============================

    4.일반적 예는 MySQL의 문서에 사용되는 브라켓은 '진짜'쿼리에서 생략한다.

    일반적 예는 MySQL의 문서에 사용되는 브라켓은 '진짜'쿼리에서 생략한다.

    또한 당신이 MySQL의 쿼리 어디의 결과를 반향하고 있다는 표시되지 않습니다. 는 mysql_query 성공에 MySQL의 리소스를 반환합니다. 설명서는 PHP 페이지는 반향과 다른 조작 배열로 MySQL의 결과 리소스를로드하는 방법에 대한 지침을 포함한다.

  5. ==============================

    5.같아야 쿼리 :

    같아야 쿼리 :

    SHOW TABLES
    
    SHOW TABLES FROM mydatabase
    
    SHOW TABLES FROM mydatabase LIKE "tab%"
    

    대괄호 MySQL의 문서에서 것들 []는 선택 사항입니다.

  6. ==============================

    6.당신은,이 변수를 표시 변수 (예 : $ 결과)에는 mysql_query를 할당 할 필요가 데이터베이스에서 당신 것 정상적인 결과.

    당신은,이 변수를 표시 변수 (예 : $ 결과)에는 mysql_query를 할당 할 필요가 데이터베이스에서 당신 것 정상적인 결과.

  7. ==============================

    7.물론 당신은 모든 레코드를 통해 SHOW 테이블과 데이터베이스 다음 루프를 조회 할 수 있습니다하지만 추가 코드 라인과 작업을합니다.

    물론 당신은 모든 레코드를 통해 SHOW 테이블과 데이터베이스 다음 루프를 조회 할 수 있습니다하지만 추가 코드 라인과 작업을합니다.

    PHP는 당신을위한 배열로 모든 테이블을 나열하는 기능에를 구축했다 :

  8. ==============================

    8.모든 테이블 // list_tables 수단 데이터베이스

    모든 테이블 // list_tables 수단 데이터베이스

    $tables = $this->db->list_tables();
    foreach ($tables as $table)
    {
      echo $table;
    }
    
  9. from https://stackoverflow.com/questions/9898610/displaying-all-table-names-in-php-from-mysql-database by cc-by-sa and MIT license