2013-02-22 2 views
-2

나는이 스크립트에 문제가있어 내가 어떤 여기 감사하겠습니다 :PHP와 mysql_fetch 배열

<? php 

//ini_set('display_errors', '1'); 

//MQSQL connection 
require_once('../../include/init.phph'); 

function transportQueue(){ 
//siteinfoDbCon(); 
siteinfoDbConNoLag(); 

$query = "SELECT 
     a.transport_id, a.site_id, b.site_name, c.name as 'From DC', 
     d.name as 'To DC', a.cutover, a.working, a.error 
     FROM transport_queue a 
     INNER JOIN sites b ON(a.site_id=b.site_id) 
     INNER JOIN datacenters c ON(a.from_dc_id=c.datacenter_id) 
     INNER JOIN datacenters d ON(a.to_dc_id=d.datacenter_id) 
     WHERE 
     a.cutover BETWEEN NOW() AND ADDDATE(NOW(), INTERVAL 7 day) 
     ORDER BY a.cutover"; 

//Pull results 
$results=mysql_query($query); 

//Return into an array $transports 
while($row=mysql_fetch_array($results,MYSQL_BOTH)){ 
    $transports[]=$row; 
    print_r($transports[0]["site_id"]); 
} 

//Free up the results 
mysql_free_result($results); 

//Close the db connection 
siteinfoDbClose(); 

} 
transportQueue(); 
?> 

내가 쿼리 작업과 DB 연결 작업 ... 난 손실에있어 확인할 수 있습니다 .

결과를 연관 배열로 반환하려고합니다. Dump mysql_fetch_array results into a multidimensional array

어떤 생각을하려고 : 나는 다음과 같은 질문/대답을 검토 했습니까?

+7

무엇이 문제입니까? 무슨 일 이니? 그'print_r'는 무엇을 인쇄합니까? –

+4

성취하려는 것은 무엇이며, 그 대신에 무엇이 일어나고 있습니까? – DiMono

+3

질문을했지만 질문을하지 못했습니다 ... – Nick

답변

1

while($row=mysql_fetch_array($results,MYSQL_BOTH)){ 
    $transports[]=$row; 
    print_r($transports[0]["site_id"]); 
} 

$transport = array(); 
while($row=mysql_fetch_assoc($results)) 
    $transports[]=$row; 

print_r($transports); 

를 교체 그리고 그것은 MySQLi http://www.php.net/manual/en/book.mysqli.php

+0

이들은 좋은 제안이지만 원래 코드는 그대로 작동해야합니다. –

0

이 줄로 이동 시간 :

print_r($transports[0]["site_id"]); 

... 항상 찾고 배열이 아닌 전송의 첫 번째 행에있는 단일 값 [ 'siteid']에서. 루프를 끝내면 루프가 끝난 후 다음을 실행합니다.

print_r($transports); 

... 결과가 나옵니다.