2012-10-28 2 views
-3

일 때 이전에 mysql에서 데이터베이스를 만들었으므로 테이블의 모든 값을 나열하려고했지만 다음과 같은 오류가 발생했습니다.Mysql : 경고 : mysql_fetch_array()는 매개 변수 1이 리소스가

$con=mysql_connect("localhost","root",""); 
if (!$con) { 
    die("Error: " . mysql_error); 
} 

mysql_select_db("my_db",$con); 

$result = mysql_query("SELECT * FROM Users"); 

echo "<table border='1'> 
<tr> 
<th>Username</th> 
<th>First Name</th> 
<th>Last Name</th> 
<th>Age</th> 
<th>Email adress</th> 
</tr>"; 

while($row=mysql_fetch_array($result)) { 
    echo "<tr>"; 
    echo "<td>" . $row['username'] . "</td>"; 
    echo "<td>" . $row['firstname'] . "</td>"; 
    echo "<td>" . $row['lastname'] . "</td>"; 
    echo "<td>" . $row['age'] . "</td>"; 
    echo "<td>" . $row['emailadress'] . "</td>"; 
    echo"</tr>"; 
} 
echo "</table>"; 

mysql_close($con); 

내가 다른 비슷한 질문을 읽을 수는 있지만 답을 얻을 diden't :

여기 내 코드입니다.

+0

감사 Richi. 만약 내가 맞다면 다음 SQL 문을 실패합니다. 나는 그 원인을 모른다. – rekire

+0

나는 mysql에서 verry new이다. 내가 뭘 할 수 있니? – Point89

+0

'mysql_query' 줄 바로 뒤에'var_dump ($ result)'를 코드에 디버깅하기 위해 씁니다. 그런데 mysql에 익숙하지 않다면 이전의'mysql_' 함수보다 훨씬 안전한 PDO를 사용하십시오. – rekire

답변

1

코드에서 데이터베이스 선택 또는 쿼리 실행에 대한 MySQL의 응답을 평가하지 않습니다. 오류는 쿼리가 성공하지 못했음을 나타냅니다 (따라서 mysql_query는 FALSE를 반환합니다). 위의 중 하나 또는 둘 모두가 작동하지 않음을 의미합니다.

데이터베이스를 선택하고 die (mysql_error())를 사용할 때 오류를 테스트하십시오. 이 통화가 실패하는 이유를 확인하십시오.

+0

나는 지금 시도 할 것이다. 고맙습니다. – Point89

+0

데이터베이스를 선택할 때 오류가 없습니다. 내가 할 수 있는게 뭐야? – Point89

+0

쿼리에 대한 오류 검사도 추가 했습니까? – Xyon

0

이 행이 테이블에서 실제로 행을 가져 오는지 확인하십시오. $ result = mysql_query ("SELECT * FROM Users");

$result = mysql_query("SELECT * FROM Users") or die(mysql_error()); 

아마도 테이블이라고합니다 "사용자"가 아니라 "사용자"(캡주의), 그래서 따라 변경 :

는 해당 쿼리에 에러 체크를하고보십시오. 당신은 변수`$의 result`를 덤프한다

관련 문제