2016-09-21 4 views
0

어떻게해야합니까? $ id1은 값의 첫 번째 문자를 반환하고 $ id1 = $ row [0] [ 'id']; 하지만 그건 아무것도 반환하지 않는 것 같습니다.mysqli assoc 배열 indivdual 값을 쉽게 타겟팅

$sql = "SELECT id,postid FROM table WHERE postid='$postid' LIMIT 3"; 
$query = mysqli_query($db_conx, $sql); 
while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) { 
$id1 = $row['id'][0]; 
$postid1 = $row['postidx'][0]; 
$id2 = $row['id'][1]; 
$postid2 = $row['postid'][1]; 
$id2 = $row['id'][2]; 
$postid2 = $row['postid'][2]; 
} 
+0

대신에이 행을 사용해야합니다. 루프 밖에서 하나의 변수를 배열 변수와 내부 루프'$ newly_created_array_variable [] = $ row;' –

+0

'$ id1 = $ row [ 'id'] [0];'$ id1 = $ row [ 'id'];'... print_r을 사용하여 $ row'를 디버그 – CatalinB

+0

$ id1 = $ row [ 'id']; 그냥 모든 값을 주겠지? – stkmedia

답변

0

당신은 루프의 개념을 이해한다.
코드는 생각대로 작동하지 않습니다. 루프 반복에 따라 후속 행을 가져옵니다. 따라서 루프 내에서 현재 행 값만 가져와이 변수를 사용하는 대신에

$sql = "SELECT id,postid FROM table WHERE postid='$postid' LIMIT 3"; 
$query = mysqli_query($db_conx, $sql); 
while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) { 
    $id = $row['id']; 
    $postid = $row['postid']; 
    // use these two variables 
} 
+0

귀하의 의견은 내가하는 데 유용합니다. 루프와 배열을 더 잘 이해할 필요가 있습니다. – stkmedia