我正在尝试做一个管理面板。我使用 PDO 进行数据库连接。在面板中,我想更新网站标题、网站网址等。但我有一个问题。我确信我所做的一切都是真的。
我需要你的帮助。
这是管理面板代码:
<?php
include 'config.php';
$ayarsor=$db->prepare("select * from ayar1 where ayar_id=?");
$ayarsor->execute(array(0));
$ayarcek=$ayarsor->fetch(PDO::FETCH_ASSOC);
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<title></title>
</head>
<body>
<div class="ust">
<h1><center>panel</center></h1>
</div>
<div class="container">
<h2>Send something</h2>
<p> ADMİN PANELİ</p>
</div>
<div class="orta">
<table>
<form action="islem.php" method="POST">
<tr>
<td><label>Site başlığı</label></td>
<td><input type="text" name="ayar_title" /></td>
</tr>
<tr>
<td><label>Duyuru</label></td>
<td><input type="text" name="ayar_duyuru" value="<?php echo $ayarcek['ayar_duyuru']; ?>" /></td>
</tr>
<tr>
<td><label>Düşman</label></td>
<td><input type="text" name="ayar_dusman" /></td>
</tr>
<tr>
<td></td>
<td><button name="genelayarkaydet">Güncelle</button></td>
</tr>
</form>
</table>``
</div>
这是 islem.php :
<?php
ob_start();
include 'config.php';
if(isset($_POST['genelayarkaydet'])) {
$ayarkaydet=$db->prepare("UPDATE ayar1 set
ayar_title=sitetitle,
ayar_duyuru=duyuru,
ayar_dusman=dusman
WHERE ayar_id=0");
$update=$ayarkaydet->execute(array(
'sitetitle' => $_POST['ayar_title'],
'duyuru' => $_POST['ayar_duyuru'],
'dusman' => $_POST['ayar_dusman']
));
if($update) {
echo "Degistirildi!!!!!!";
}
else {
echo "olmadı la";
}
}
?>
最佳答案
您需要绑定(bind)数据库查询的变量。
$ayarkaydet = $db->prepare("UPDATE ayar1 set ayar_title = :sitetitle,
ayar_duyuru = :duyuru,
ayar_dusman = :dusman
WHERE ayar_id = 0");
$update = $ayarkaydet->execute(array(
'sitetitle' => $_POST['ayar_title'],
'duyuru' => $_POST['ayar_duyuru'],
'dusman' => $_POST['ayar_dusman']
));
关于PHP PDO - 我无法更新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42316306/