我正在尝试使用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));
}
?>
以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]);
}
?>