2015-01-15 3 views
1

데이터베이스에서 데이터를 가져 오는 중 문제가 발생했습니다. 코드가 항상 "배열"로 표시되는 이유는 무엇입니까?항상 디스플레이 "배열"

$connection_string = $database.':host='.$host_name.';dbname='.$database_name.';charset='.$charset; 
$db = new PDO($connection_string, $database_username, $database_password); 

$username = $_SESSION['username']; 
$password = $_SESSION['password']; 
$query = "SELECT password FROM user "; 
$st = $db->prepare($query); 
$st->execute(); 
$result = $st->fetchAll(PDO::FETCH_ASSOC); 

echo $result; 

여기에서 비밀번호 열의 데이터를 가져오고 싶습니다. 하지만 내가 그것을 확인하고 싶습니다 가져 오지 않겠지 만 "배열"을 표시합니다. 누구든지 나를 도울 수 있습니까? 고맙습니다 ! DB에서 반환

+0

그냥'echo $ result' 대신'print_r ($ result)'를 사용하십시오. – SagarPPanchal

답변

1

결과 echo 내가 간단한 기능을 사용

printr_r($result); 

전체 배열을 인쇄 할 array

사용 print_r($result) 또는 var_dump($result)을, 배열의 요소를 인쇄는 인쇄 있도록 할 수없는, 연관 배열 PDO::FETCH_ASSOCdd() 내 개발에서 디버그 메시지 인쇄하기

//Debug Print Functions 
function dd($input, $format = 'var_dump') { 
    echo ('<pre style="background-color: #FFFBD5; 
     border: 1px solid #F8EBAB; padding: 5px; 
     margin:5px 0; box-shadow: 2px 2px 0 #F7FFCD">'); 
    $format($input); 
    echo ('</pre>'); 
} 
+0

안녕하세요, Saqueib 덕분에 일했습니다. 질문 하나 더 드릴까요? 제 조건이 맞습니까? if ($ _ POST [ 'old_password']! = $ result) –

+0

당신은'$ ($ _ POST [ 'old_password']! = $ result [0] [ 'password'])' – Saqueib

+0

이 필요합니다. –

0

배열의 각 요소를 참조하지 않습니다. 배열 요소를 인쇄하지 않을 배열을 인쇄하면됩니다. 이 시도 : - 참조 (@Saqueib가 제안)

0
$st = $db->prepare($query); 
$st->execute(); 
$result = $st->fetchAll(); 

print_r($result); 

print_r($result)를 사용

foreach($result as $r){ 
    echo $r; 
} 

또는 수동 fetchAll

또한 경우에 당신은 암호 값을 받고, 당신이 그렇게 이런 식으로 시도 할 수도 있습니다.

$result = $sth->fetchAll(PDO::FETCH_COLUMN, 0); 
print_r($result); 

이렇게하면 1 차원이 인쇄됩니다. 비밀번호 배열