Tôi nghĩ $ caption là một mảng, vì vậy mã của bạn phải như thế này
while($rows = mysql_fetch_array($new_captions)){
$caption[] = $rows;
}
CHỈNH SỬA:
Vòng lặp foreach của bạn cũng sai.
Biến của bạn là $ lines không phải là $ caption.
<div id="set_caption" style="width:<?php echo $rows['width'];?>px; height:<?php echo $rows['height'];?>px; left:<?php echo $rows['posleft'];?>px; top:<?php echo $rows['postop'];?>px;"><?php echo $rows['text'];?></div>
<?php } ?>