2017-02-26 94 views
1

當我運行下面的代碼在PHPMySQL查詢返回0時運行Multirowed響應查詢

$connect = mysqli_connect("localhost", "root", "dbpass", "db"); 

function csvfromarray($array) { 
    $result = $array[0]+","+$array[1]; 
    return $result; 
} 

$query = mysqli_query($connect, "SELECT * FROM dbtable"); 
$row = mysqli_fetch_assoc($query); 
$data = array(); 
$i = 0; 

while($row = mysqli_fetch_assoc($query)) { 
     $data[$i] = $row['last']; 
     $i++; 
} 
$csv = csvfromarray($data); 
echo $csv; 
mysqli_close(); 

我最終得到的「0」的迴應後,當我應該返回「lname1,lname2」。

+0

'+'是數學。 '.'用於連接。例如'$ array [0]。 「,」。 $ array [1];'或者如果所有的'$ array'都應該用逗號連接,你可以使用'implode'。 – chris85

+0

謝謝,看起來我最近一直在用Java的方式進行編碼。 – HMStith

+0

是的,你也應該看看構建CSV的PHP函數。如果你的數據中有一個'''',那麼你會用這種方法得到一個格式不正確的CSV。你也可以使用''''你不需要'$ i',PHP會自動增加它。 – chris85

回答

0

所有chris85的東西是正確的......

這裏有一個整理:

$query=mysqli_query($connect,"SELECT `last` FROM dbtable"); 
$data=array(); 
while($row=mysqli_fetch_assoc($query)) { 
    $data[]=$row['last']; // push into array 
} 
echo implode(',',$data); // echo comma-separated values 
mysqli_close();