2012-04-04 2 views
0

내 홈페이지의 본문에 임의의 DB 항목 (내 데이터베이스의 메시지 테이블에 있음)에서 "message"필드를 반환하려고합니다."메시지"필드가 MYSQL 데이터베이스에서 가져 오지 않는 이유는 무엇입니까?

내 index.php 파일입니다. connect.php를 통해 데이터베이스와의 링크가 작동하는지 확인했습니다.

<html> 
<body> 

<?php 
include_once('connect.php'); 
$quote=$_GET['message']; 
$sql="SELECT message FROM messages ORDER BY RAND()LIMIT 1"; 
$results=mysql_query($sql, $link); 
while(list($message)=mysql_fetch_array($results)){ 
echo $message; 
} 

mysql_close(); 


?> 

</body> 
</html> 

내가 잘못하고있는 것을 볼 수 있습니까? 나는 어딘가에서 중대한 오류를 범했다고 확신한다.

도움 주셔서 감사합니다.

+0

rand()에 의한 주문 작은 db에 대해서만 –

+0

@Dagon 아주 작은 데이터베이스입니다. – karhu

답변

3

은 오타 : 당신도 최소한의 쿼리 오류 처리 있었다면

$sql="SELECT message FROM messages ORDER BY RAND()LIMIT 1"; 
                ^--missing a space 

, 당신이 발견 한 것 :

$results=mysql_query($sql, $link) or die(mysql_error()); 

적 쿼리를 가정하지는 성공했다. SQL 문법이 100 % 유효하더라도, 실패를 확인하지 않기 위해 너무 많은 다른 이유가 있습니다.

+0

도움과 조언에 감사드립니다. 나는 앞으로 모든 것에 죽기 기능을 넣을 것이다. 건배! – karhu

+1

'또는 die()'는 디버깅에 편리하지만 프로덕션 시스템에서는 좀 더 사용자 친화적 인 것이 필요합니다. mysql 에러 메시지는 사적으로 유지되어야 할 것들에 대해 상당한 누출을 일으킬 수있다. –

+0

잘 알고 있습니다. 감사! – karhu

관련 문제