簡體   English   中英

無法使用php prepare-statement將記錄插入mysql表

[英]Can not Insert record into mysql table with php prepared-statement

我的代碼部分可在下面的ELSE部分中使用。 我的部分意思是它不是INSERT INTO表,但是由於所有驗證階段都是正確的, 因此它將重定向到感謝頁面。

我通常期望的是兩者。 插入表格然后轉到感謝頁面。

我以為我的情況與准備好的語句有關,所以我研究了http://php.net/manual/en/mysqli.quickstart.prepared-statements.php,但我無法解決問題。 沒有得到通知,警告或錯誤。 但是我的桌子還是空的 您能幫我解決我的錯嗎?

謝謝

BR

    header( "HTTP/1.1 303 See Other" );

if ($_SESSION['hatalar'] != '')
{
    $sonraki_sayfa = sitenin_koku.'yazılar/'.$_SESSION['spesifik_yazi_url'];
    header('Location: ' . $sonraki_sayfa);
}
else //verification passed. save the comment + redirect to thanks page.
{
    /* YORUMU TABLOYA YAZDIRALIM  */
    $sorgum = "INSERT INTO tb_yorumlar (kolon_yorumcu_isim, kolon_statu, kolon_yorum, kolon_hangi_yazara, kolon_hangi_basliga, kolon_yorum_tarihi, kolon_ip) VALUES (?, ?, ?, ?, ?, NOW(), ?)";

    if ($beyan = $db_baglanti->prepare($sorgum)) 
        {
            /* give their values to parameters  */ 
            $bindparametre1 = $_POST['yf-isim'];
            $bindparametre2 = 'onay';
            $bindparametre3 = $_POST['yf-mesaj'];
            $bindparametre4 = $_SESSION['spesifik_yazi_yazar'];
            $bindparametre5 = $_SESSION['spesifik_yazi_baslik'];
            $bindparametre6 = $_SERVER['REMOTE_ADDR'];

            /* bind parameters */
            if (!$beyan -> bind_param("ssssss", $bindparametre1, $bindparametre2, $bindparametre3, $bindparametre4, $bindparametre5, $bindparametre6))
            {echo "parametre atama hatası: (" . $beyan->errno . ") " . $beyan->error;}

            /* execute statement */
            if (!$beyan->execute())
            {echo "Gerçekleştirme hatası: (" . $beyan->errno . ") " . $beyan->error ;}
        }
    else {echo "Hazırlama hatası: (" . $db_baglanti->errno . ") " . $db_baglanti->error;}

    /* TEŞEKKÜR SAYFASINA YÖNLENDİRELİM */
    $sonraki_sayfa = sitenin_koku.'yorumunuz-için-teşekkür-ederim';
    header('Location: ' . $sonraki_sayfa);

}

我會注釋掉標題位置部分(見下文)並回顯值-確保您要插入的值被實際填充(不為null)。

if ($beyan = $db_baglanti->prepare($sorgum)) {
    /* give their values to parameters  */
    $bindparametre1 = $_POST['yf-isim'];
    $bindparametre2 = 'onay';
    $bindparametre3 = $_POST['yf-mesaj'];
    $bindparametre4 = $_SESSION['spesifik_yazi_yazar'];
    $bindparametre5 = $_SESSION['spesifik_yazi_baslik'];
    $bindparametre6 = $_SERVER['REMOTE_ADDR'];

    if (!$beyan->bind_param("ssssss", $bindparametre1, $bindparametre2, $bindparametre3, $bindparametre4, $bindparametre5, $bindparametre6)) {
        echo "parametre atama hatas?: (" . $beyan->errno . ") " . $beyan->error;
    }

    if (!$beyan->execute()) {
        echo "Gerçekles,tirme hatas?: (" . $beyan->errno . ") " . $beyan->error ;
    }
}
else {
    echo "Haz?rlama hatas?: (" . $db_baglanti->errno . ") " . $db_baglanti->error;
}

/* TES,EKKÜR SAYFASINA YÖNLENDI.RELI.M */
$sonraki_sayfa = sitenin_koku.'yorumunuz-için-tes,ekkür-ederim';
//header('Location: ' . $sonraki_sayfa);

echo $bindparametre1 . "<br>";
echo $bindparametre2 . "<br>";
echo $bindparametre3  . "<br>";
echo $bindparametre4  . "<br>";
echo $bindparametre5  . "<br>";
echo $bindparametre6  . "<br>";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM