2011-06-14 4 views
1

PHP MySQL의 쿼리

$userid = (int) $explode[0]; 

$userrr = mysql_query("SELECT credits FROM produgg_users WHERE id = $userid"); 
echo $userid; // For debugging purposes 
echo $userrrr; 

내 $ 사용자 ID 변수는 감지 아무것도 제대로 동작 나던 값 미세 단지 내 쿼리를 반환, 단지 내 쿼리에 문제가 메신저 내 테이블에서 일부 데이터를 에코 시도 반환됩니다.

+0

id는 보호 된 변수입니다. "SELECT'크레딧'FROM'produgg_users' WHERE'id' = '". $ userid. "'" 아아 좋았어, 내가 한 일은 필드와 열 둘레에 붙이는거야. – Luceos

답변

3

($userrr는 그 결과 자원이 아니라 데이터의 배열입니다). 또한, $userrr로, 제 2 기준에 너무 많은 r 년대 :

$userrr = mysql_query("SELECT credits FROM produgg_users WHERE id = $userid"); 
$row = mysql_fetch_assoc($userrr); 

echo $row['credits']; 
+0

아아 알 겠어! 고맙습니다! – Liam

+1

@Liam 또한 [mysqli] (http://us3.php.net/mysqli)에 액세스 할 수있는 경우 [prepared statements] (http://us3.php.net/manual/en/)를 사용해야합니다. mysqli.prepare.php)를 문자열에있는 변수 대신 사용하십시오. 변수를 형변환하고 있지만 구문과 매개 변수를 사용하는 것이 훨씬 좋습니다. 여러 DB 라이브러리는 자신의 변수를 바인딩하는 것보다 훨씬 쉬운 방법이지만, 그렇게하면 아이디어를 얻을 수 있습니다. – Rob

+0

감사합니다. @Rob – Liam

1

변경에 쿼리 줄 : 조회 결과를 가져 오는되지 않습니다

$userid = mysql_real_escape_string($_GET['user_id']); 
$result = mysql_query("SELECT credits FROM produgg_users WHERE id = '$userid'") 
    or die("query returned an error"); 
while ($row = mysql_fetch_assoc($result)) { 
    echo $row['credits']; 
} 
1

mysql_queryresource 아닌 실제 결과 자체를 반환합니다.

당신은 실제로 자원을 읽을 수 mysql_fetch_array() 또는 mysql_fetch_assoc을 사용한다 : 조회의 결과를 얻을 필요가

$userrr = mysql_query("SELECT credits FROM produgg_users WHERE id = $userid"); 
$row = mysql_fetch_assoc($userr); 
print_r($row); // returns your row, if found 
5

.

$query = "SELECT credits FROM produgg_users WHERE id = $userid"; 
    $result = $db->query($query); 

    $hits = $result->num_rows; 


    for ($i = 0; $i < $hits; $i++) { 
      $row = $result->fetch_assoc(); 
      array_push($results, $row['name']); 
    } 

    return $results; 
+1

변수를 사용하는 경우 쿼리를 큰 따옴표로 묶으십시오. – NAVEED