我正在使用 PHP PDO 和 MySQL,并希望像这样转换 MySQL 表:
|Listing ID | Image ID |
| 1234 | 1 |
| 1234 | 2 |
| 1234 | 3 |
| 1235 | 1 |
| 1235 | 2 |
进入一个像下面这样的 PHP 数组,我可以使用 PDO 解析并插入另一个 MySQL 表。
[url/path/1234-1:::url/path/1234-2:::url/path/1234-3, url/path/1235-1:::url/path/1234-2]
这是我到目前为止编写的代码。我认为 while 循环的工作方式存在问题,因为它只获取第一个列表字符串并导致无限循环。
//Set folder path
$target_path = realpath($_SERVER['DOCUMENT_ROOT']). "\path\uploads\\";
//Query to download all listing IDs in Markers table
$query = $db->query("SELECT * FROM image");
$row = $query->fetch(PDO::FETCH_ASSOC);
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
$temp = $target_path.$row['L_ListingID']."-".$row['L_ImageID'].".jpg";
//ListingID equals ListingID, append to array
$LI = substr($temp, 40, 8);
while($LI = $LI) {
$temp = $temp.":::".$temp;
echo $temp;
}
}
这是一个无限循环的输出。请注意,它从表中的第二项开始并挂在那里:
C:\path\uploads\40532208-2.jpg:::C:\path\uploads\40532208-2.jpgC:\C:\path\uploads\40532208-2.jpg...ad infinitum