2017-02-26 79 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();