如何将MySQL两列(yanlis_cevaplar,cevap_icerik)合并为数组?代码仅返回一列
问题修正方案
嘿,我一眼就瞅出问题所在啦!你当前的SQL查询只选中了yanlis_cevaplar这一列,所以结果里自然只有这列的数据。要把yanlis_cevaplar和cevap_icerik两列合并到数组里,得从两个关键地方调整:
修改SQL查询语句:必须同时指定要获取的两列,这样数据库才会返回这两列的内容。把查询语句改成:
SELECT yanlis_cevaplar, cevap_icerik FROM cevaplar调整数组赋值逻辑:在循环读取结果时,把每行的两列数据都存入数组。根据你的需求,有两种常见的存储方式:
方式1:保留每行的对应关系(二维数组)
这种方式会把每一行的两列数据作为一个子数组存入主数组,方便后续按行访问数据:
$cevaplar = "SELECT yanlis_cevaplar, cevap_icerik FROM cevaplar"; $cevap_sonuc = $conn->query($cevaplar) or die(mysqli_error($conn)); $cevap1 = array(); // 创建空数组 while ($row = $cevap_sonuc->fetch_array()) { // 将当前行的两列数据打包成子数组存入主数组 $cevap1[] = [ 'yanlis_cevaplar' => $row['yanlis_cevaplar'], 'cevap_icerik' => $row['cevap_icerik'] ]; } // 打印测试结果 print_r($cevap1);
方式2:平铺成一维数组
如果不需要保留行的对应关系,只想把两列的所有值都放在一个一维数组里,可以这样写:
$cevaplar = "SELECT yanlis_cevaplar, cevap_icerik FROM cevaplar"; $cevap_sonuc = $conn->query($cevaplar) or die(mysqli_error($conn)); $cevap1 = array(); // 创建空数组 while ($row = $cevap_sonuc->fetch_array()) { // 分别将两列的值追加到一维数组中 $cevap1[] = $row['yanlis_cevaplar']; $cevap1[] = $row['cevap_icerik']; } // 打印测试结果 print_r($cevap1);
这样修改后,你就能同时获取到两列的数据并存入数组啦。
内容的提问来源于stack exchange,提问作者Aytug Seyrek
相关产品推荐
相关产品推荐

