由于语法错误,无法通过php / mysql更新表

问题描述 投票:-1回答:1

我正在尝试使用PHP更新表。但是我却得到了这个错误。您的SQL语法有误;检查与您的MariaDB服务器版本相对应的手册,以获取在'?'附近使用的正确语法。在第1行

脚本中的值顺序与我的PHPMyAdmin表中的顺序相同。值的名称也正确。但是,我无法更新表。这里有什么问题?提前致谢。

<?php  
    session_start();
    //$errors = array();
    $db = mysqli_connect('localhost', 'root', '', 'son_fbe');

    if (isset($_POST['sendenstitu'])) {

        $selecteabd = mysqli_real_escape_string($db, $_POST['eabd']);
        $getdate = mysqli_real_escape_string($db, $_POST['getdate']);
        $getabilim = mysqli_real_escape_string($db, $_POST['abilim']);

        $db -> query("UPDATE derssaydirma SET EABD_EvrakNo = '$selecteabd', Sekreterlik_Tarih = 
       '$getdate', AnaBilim_DBaskani= '$getabilim' WHERE id    = ?") or die(mysqli_error($db)); 

                   }


            ?>
php mysql mysqli
1个回答
0
投票

以OOP方式使用mysqli,准备您的语句,然后绑定参数并最终执行它。

<?php  
session_start();
$db = new mysqli('localhost', 'root', '', 'son_fbe');

if (isset($_POST['sendenstitu'])) {

$selecteabd = $_POST['eabd'];
$getdate    = $_POST['getdate'];
$getabilim  = $_POST['abilim'];
$id         = 'value of id goes here';
$stmt = $db->prepare("UPDATE derssaydirma SET EABD_EvrakNo=?, Sekreterlik_Tarih =?, AnaBilim_DBaskani=? WHERE id= ?"); 

$stmt->execute([$selecteabd,$getdate,$getabilim,$id]);
}


?>
© www.soinside.com 2019 - 2024. All rights reserved.