2011-08-15 3 views
0

mySQL에서 일부 데이터를 표시하려고하는데 db 세부 정보는 정확하지만이 정보는 얻을 수 있습니다.내 코드에서 mysql_fetch_array 경고를받는 오류가 무엇입니까?

* 경고 :로 MYSQL_ASSOC() : 공급 인수가 유효한 MySQL의 결과 리소스 *

아래에있는 내 코드에 오류가 무엇입니까 아닌가요?

<?php 

$con = mysql_connect("localhost"," "," "); 
mysql_select_db(" ", $con); 
mysql_query('set names utf8'); 

$query = "SELECT * FROM products WHERE id = '13' LIMIT 1"; 
$row = mysql_fetch_array(mysql_query($query)); 
echo $row['name']; 

?> 

UPDATE

내 오류를 발견 오타이었다. 여전히 메모장을 사용하는 경우 얻을 수 있습니다.

+0

당신 맞춤법이 틀린'LIMIT' –

+4

쳇 참조하십시오. Downvoting spree ... 모든 정답을 싫어하는 익명의 겁쟁이가 앞으로 나아가 자신을 설명해 주시겠습니까? –

+0

나는 모든 대답을 upvoted. – EnexoOnoma

답변

1

$query은 입력 한 쿼리가 유효하지 않기 때문에 FALSE이됩니다. mysql_query에서 반환은 FALSE입니다. 쿼리를 컴파일하거나 실행하는 중 오류가 발생했습니다.

LIMT에서 LIMIT으로 변경하고 다시 시도하십시오.

0

단순 오타 : LIMTLIMIT

1

잘못된 철자해야 ...

$query = "SELECT * FROM products WHERE id = '13' LIMT 1"; 

이어야은

$query = "SELECT * FROM products WHERE id = '13' LIMIT 1"; 
1

당신은 어딘가에 오류가있어. 시도 :

$con = mysql_connect(...) or die(mysql_error()); 

mysql_select_db(...) or die(mysql_error()); 

$res = mysql_query(...) or die(mysql_error()); 
$row = mysql_fetch_array($res); 
1

당신은 오타가, LIMT을 -> LIMIT 오류에 대한 정보를 얻을 수 처리

1

를 사용하여 오류가 발생했습니다. 이 메시지는 구문 오류 (LIMIT 대신 LIMT)가 있음을 알려줍니다.

최소한의 예 :

$query = "SELECT * FROM products WHERE id = '13' LIMT 1"; 

if (!$query) trigger_error("mySQL Error: ".mysql_error(), E_USER_ERROR); 

그래서 당신이 메시지를 피할 수있다 trigger_error() 대신 die()의 사용은 라이브 사이트에 표시하기. 그 외에도 die()도 좋습니다.

Reference: What is a perfect code sample using the mysql extension?

+0

참조 해 주셔서 감사합니다. 초보자로서 더 나은 코드를 작성하는 데 도움이 될 것입니다. – EnexoOnoma

관련 문제