Call to a member function fetch() on bool in
satır 260 da hata olduğunu söylüyor;
while ($row = $sql->fetch(PDO::FETCH_ASSOC)){
nerde hata yapmış olabilirim yardımcı olabilecek var mı?
Call to a member function fetch() on bool in hatası
9
●314
- 27-05-2023, 04:49:47sql sorgusunda hata olabilir ,bu koda bakarak hatayı bulamayız.
- 27-05-2023, 04:50:56kodun tamamını paylaşırsanız yardımcı olalım
- 27-05-2023, 04:56:30kod şu şekilde ;
işin garip tarafı aynı dosya aynı kod farklı hosting firmalarında çalışıyor. mysql versiyonu kaynaklı olabilir mi ? php 7.2 kullanıyorum diğer hosting firmasındada 7.2 kullanıyorum aynı kod aynı yazılım hata döndürmüyor işlem sayfasını sorunsuz açıyor.
$sql = $db->query("SELECT * FROM groups WHERE modulId = '$modul'"); while ($z = $sql->fetch(PDO::FETCH_OBJ)){ $ozellikler.= ' <div class="panel panel-default"><div class="panel-heading">'.$z->name_en.'</div><div class="panel-body"><div class="row">'; $g = $z->Id; $sql2 = $db->query("SELECT * FROM prop WHERE modulId = '$modul' and groupId = '$g'"); while ($x2 = $sql2->fetch(PDO::FETCH_OBJ)){ if ($_GET['ilanId'] == ""){ $ozellikler.= ' <div class="col-xs-12 col-sm-3"> <div class="form-group"> <label style="font-weight:normal !important"><input type="checkbox" name="prop_' . $x2->Id . '" value="1"> ' . $x2->name_en . ' </label></div></div>'; } else { $ilanId = $_GET['ilanId']; $md = $db->query("SELECT * FROM prop_ilan WHERE (ilanId = '$ilanId' and propId = '$x2->Id')"); $mdd = $md->fetch(PDO::FETCH_ASSOC); $ozellikler.= ' <div class="col-xs-12 col-sm-3"> <div class="form-group"> <label style="font-weight:normal !important"><input type="checkbox" name="prop_' . $x2->Id . '" value="1"'; if ($mdd["val"] == 1){ $ozellikler.= ' checked'; } $ozellikler.= '> ' . $x2->name_en . '</label></div></div>'; } } $ozellikler.= '</div></div></div>'; }
- 27-05-2023, 05:16:56Kodda hata yok
$md = $db->query("SELECT * FROM prop_ilan WHERE (ilanId = '$ilanId' and propId = '$x2->Id')");
buradaki değerleri kontrol etmeniz gerekli.
ayrıca inner join kullanarak sorgularını kısaltabilirsiniz. - 27-05-2023, 05:21:36baguvix adlı üyeden alıntı: mesajı görüntüle
- 27-05-2023, 05:24:46Halil84 adlı üyeden alıntı: mesajı görüntüle
- 27-05-2023, 05:26:53Halil84 adlı üyeden alıntı: mesajı görüntüle
- 27-05-2023, 08:58:05kodda hata olması illaki yazım hatası olmasını gerektirmez.
hata mesajı olarak dediği $sql değişkeni boolen olarak dönüyor yani true yada false.
aynı zamanda boolen in fetch diye elemanı olmaz diyor.
sonuç olarak $sql değişkeninden dönen değer false ise sonraki $sql->fetch çalışmayacak hata verecektir.
db sorgunuzdan dönen değer var mı onlara odaklanın. her zaman veri dönmeme durumları var ise de while sql fetch lerinizi if($sql) arasına alın.