2013-03-29 2 views
0

어떻게 작동하는지 혼란 스럽습니다 ...PHP로 테이블을 반환하는 MYSQL

PHP에서 배열에 테이블 열 이름을 지정하려고합니다. 다른 쿼리와 동일한 방식으로 처리하려고하지만 작동하지 않습니다. 내가 뭘 잘못하고 있는지 말해줘.

$q ="SHOW COLUMNS FROM disp"; 
$colsq = mysql_query($q); 
$c = mysql_fetch_assoc($colsq); 
foreach($c['Field'] as $asdf){ 
    echo $asdf."<br />"; 
} 
+0

변경'$ colsq =는 mysql_query ($ q를)'$ colsq =는 mysql_query ($ q를) 또는 (mysql_error를()) 다이','아마도 당신이 볼 오류입니다. – Narek

답변

1

mysql 대신 mysqli를 사용하십시오. 이 시도 :

$mysqli = new mysqli($db_host,$db_user,$db_password,$db_name); 
if ($mysqli->connect_errno) 
{ 
    echo "Failed to connect to MySQL:(".$mysqli->connect_errno.")" .$mysqli->connect_error; 
} 

$q ="SHOW COLUMNS FROM disp"; 
$res=$mysqli->query($q); 

while($data=$res->fetch_assoc()) 
{ 
    echo $data['Field']."<br />"; 
} 
+0

첫 번째 사람이 내게 mysqli 예제를주는 대신에 단지 그것에 대해 징징 대는 것입니다. 나는 아직도 전환하고 있지 않다. 위의 주석을 참조하십시오. –

5

잘못하고 있습니다. 시도해보십시오.

$q = "SHOW COLUMNS FROM disp"; 
$colsq = mysql_query($q) or die(mysql_error()); 
while ($row = mysql_fetch_assoc($colsq)) { 
    echo $row['Field']."<br/>"; 
} 

참고 :Please, don't use mysql_* functions in new code. 그들은 더 이상 유지되지 않습니다 and are officially deprecated. red box을 참조하십시오. prepared statements에 대해 알아보고 PDO 또는 MySQLi - this article을 사용하면 어떤 결정을 내리는 데 도움이됩니다. PDO를 선택하면 here is a good tutorial.

+0

감사합니다. 그들은 현재 PHP6에서 일하고 있지도 않습니다. 심지어 사람들이 대다수의 사람들로 전환하기까지 수년이 아니라해도 수개월이 걸릴 것입니다. 나는 안전하다고 생각해. –