未捕获错误:在布尔值中调用成员函数fetch_array()

时间:2017-12-09 14:50:03

标签: php mysql

我正在使用与MySQL相关的PHP请求,我收到此错误

错误代码:

Fatal error: Uncaught Error: Call to a member function fetch_array() on boolean in C:\laragon\www\duzenle.php:30 Stack trace: #0 {main} thrown in ``C:\laragon\www\duzenle.php on line 30

30.Satır:

$veri = $sonuc->fetch_array();

<?php
    include 'db.php';
    if(isset($_POST['sira']) && isset($_POST['adsoyad'])){
        #Prepare ile SQL Sorgusu hazırlayalım.
        $stmt=$db->prepare("UPDATE okul SET adsoyad=?, sinif=?, not1=?, not2=? WHERE sira=?");
        if ($stmt === false) die('Sorgu Hatası:'. $db->error);

            #?,?,?,? için veri tiplerini ve deişkenleri tanımlayalım.
            $stmt->bind_param("ssiii", $_POST['adsoyad'],$_POST['sinif'],$_POST['not1'],$_POST['not2'],$_POST['sira']);

            #Execute ile sorguyu çalıştıralım.
            $stmt->execute();

            #Kayıt Durumunu elde edelim.
            echo '<b>'. $db->affected_rows . 'kayıt güncellendi</b><br>';
    }
    else if(isset($_GET['sira']) && ! empty($_GET['sira'])){
        $stmt = $db->prepare("SELECT * FROM okul WHERE sira = ?");
        #?,?,?,? İçin veri tiplerini ve değişkenlerini tanımlayalım.
        $stmt->execute();
        #SQL Sorgusundan dönen sonuçları ele alalım.
        $sonuc = $stmt->get_result();
        #Bulunan kayıt sayısını elde edelim.
        echo '<b>' . $sonuc->num_rows .' kayıt bulunmaktadır</b><br>';
        $veri = $sonuc->fetch_array();
        echo '<h3>Öğrenci Kaydı Düzenleme</h3>
        <form action="" method="post">
            <table><tr align="right"><td>
                <input type="hidden" name="sira" value="'.$veri['sira'].'"/>
                    Ad Soyad:<input type="text" name="adsoyad" value="'.$veri['adsoyad'].'"/>
                <br>Öğrencinin sınıfı:
                <select name="sinif">
                    <option value="1A">1A</option>
                    <option value="1B">1B</option>
                    <option value="1C">1C</option>
                </select><br>
                1.Notu: <input type="text" name="not1" value="'.$veri['not1'].'"/><br>
                2.Notu: <input type="text" name="not2" value="'.$veri['not2'].'"/><br>
                <input type="submit" value="Kaydet">
                </tr></td>
            </table>
       </form>';
    }else{
        echo 'Bilgileri eksik gönderdiniz.';
    }
    $db->close();
    ?>

感谢您的帮助。代码的目的是编辑和操作MySQL上的传入信息。数据来自不同的页面,但此页面出错。

0 个答案:

没有答案