2010-02-22 3 views
1

이것이 나를 미치게 만드는 이유는 무엇입니까 결과 ??? 당신은 당신의 결과를 처리하지 않는PHP mysql 연결이 왜 결과를 표시하지 않습니다

function runSQL($rsql) { 

    $connect = mysql_connect('localhost','xxx','xxx') or die ("Error: could not connect to database"); 
    $db = mysql_select_db('xxx'); 

    $result = mysql_query($rsql) or die ("Error in query: $query. " . mysql_error()); 

    return $result; 
    mysql_close($connect); 
} 

$rsql = "SELECT * FROM subscriptions WHERE subscriptionID = 6 "; 
runSQL($rsql); 
$row = mysql_fetch_array($result); 
echo $row['subscription']; 
mysql_free_result($result); 
+0

소스 서식을 추가했습니다. 마음에 들지 않으면 되돌릴 수 있습니다. – Piskvor

답변

3

...

당신은 쿼리를 실행하는 함수 (RUNSQL)를 호출하고 결과 집합을 반환하지만 당신이 그것으로 일할 수있는 결과 집합을 잡을 수 없습니다 .

runSQL($rsql); 대신 $result = runSQL($rsql);을 사용하십시오.

또한 mysql_close($connect);은 코드에서 호출되지 않으며 반환이 먼저 발생하므로 도달 할 수 없습니다.

+1

또한 MySQL에 대한 연결을 열린 상태로 유지하고 모든 쿼리에 대해 열거 나 닫지 마십시오. – Piskvor

0

mysql_fetch_(assoc|array|etc)을 실행하기 전에 연결을 닫으면 해당 기능이 실패 할 수 있습니다. 데이터 읽기를 포함하여 데이터베이스와의 상호 작용이 끝날 때까지 연결을 닫지 않아야합니다.

관련 문제