2016-08-17 1 views
0

그래서 데이터베이스에 포함 된 열 이름을 얻기 위해 데이터베이스에 어려움을 겪고 있습니다. 여기 열 이름을 검색 할 SQL 쿼리 목록

내 PHP의 :이 (PHP 오류가 팝업하지 않습니다하지만 내 변수가 비어있는 것 같다) 그리고 내가 정말 무엇을 이해하지 못하는 아무것도 대답하지 않는 몇 가지 이유를 들어

$sql = "SELECT * FROM hacklvrf_db.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'generators'" ; 
    $result = mysqli_query($con, $sql); 
    $row = mysqli_fetch_array($result, MYSQLI_ASSOC); 
    $generators = $row['generators']; 
    foreach ($row as $lol) { 
    echo ($lol); 
    } 

I 실종 됐어.

echo (gettype ($row)); 

은 내가 여기에 'NULL'

나는이 질문을하기 전에 물어되었으며, 실제로 다른 곳에서 내 SQL 쿼리를 가지고하지만 난 그것을 밖으로 작동하지 않을 수 있기 때문에 알고 ...를 표시합니다 !

미리 감사드립니다.

+4

을 클릭하십시오. WHERE TABLE_NAME = N 'generators'는 구문 오류입니다. 오류를 확인하십시오. Btw,'echo'는 함수가 아닙니다. 구조체입니다. –

+0

이 'N'생성자는 무엇입니까? –

+1

@NanaPartykar 고양이이거나 나쁜 고양이 * 였을 것입니다. –

답변

2

변경

$sql = "SELECT * FROM hacklvrf_db.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'generators'"; 

으로
$sql = "SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA`='database-name' AND `TABLE_NAME`='table-name'"; 

사용하여 SQL 쿼리 데이터베이스 이름과 테이블 이름을 변경 한 후, 내가 가지고 오류

1064 - 당신은 오류가 귀하의 SQL 구문; 올바른 구문은 TABLE_NAME

코드 업데이트 근처 '.COLUMNS을 사용하는 MySQL 서버 버전에 해당하는 설명서를 확인

<?php 
$sql = "SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA`='database-name' AND `TABLE_NAME`='table-name'"; 
$result = mysqli_query($con, $sql); 
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){ 
    echo $row['COLUMN_NAME']."<br>"; 
} 

?> 
(그냥 데이터베이스 이름 및 쿼리에서 테이블 이름을 넣어)

자세한 내용은 MySQL query to get column names?

+0

나는 지금 당장 그것을 할 것이고, 당신의 도움에 감사 할 것이다. –

+0

완벽하게 작동합니다! 정말 고마워! 첫 번째 방법이 효과가 없었던 이유를 신속하게 설명 할 수있는 기회가 있습니까? (마치 똑같은 것처럼 보입니다.) 다시 한번 감사드립니다! –

+0

나는 그것에 대해별로 생각하지 않습니다. 내 시스템에서 귀하의 쿼리를 시도하고 내 대답은 내 대답에 게시했다. 그래서, 나는 그것을 검색하고 내 대답에 링크로 게시 한 새로운 쿼리를 가지고. 그것을 통해 이동하십시오. 거기에서 더 나은 설명을 얻을 수 있습니다. * 기쁘게 일했습니다. * @ tazetotero –