Php Can';不要编辑MySQL行
大家好,所以我尝试允许用户在提交数据后编辑数据。我有一个设置了自动递增主键的staff表。正是我的这段代码给了我麻烦Php Can';不要编辑MySQL行,php,sql,Php,Sql,大家好,所以我尝试允许用户在提交数据后编辑数据。我有一个设置了自动递增主键的staff表。正是我的这段代码给了我麻烦//从url获取id $StaffID=$_GET['StaffID']我一辈子都搞不清楚它到底出了什么问题,因为语法似乎是正确的。它告诉我,索引是未知的 <?php // including the database connection file include_once("connect.php"); if(isset($_POST['update'])) {
//从url获取id
$StaffID=$_GET['StaffID']代码>我一辈子都搞不清楚它到底出了什么问题,因为语法似乎是正确的。它告诉我,索引是未知的
<?php
// including the database connection file
include_once("connect.php");
if(isset($_POST['update']))
{
$StaffID = $_POST['StaffID'];
// checking empty fields
if(empty($Name) || empty($Address) || empty($Telephone) || empty($BusinessID)) {
if(empty($Name)) {
echo "<font color='red'>Name field is empty.</font><br/>";
}
if(empty($Address)) {
echo "<font color='red'>Age field is empty.</font><br/>";
}
if(empty($Telephone)) {
echo "<font color='red'>Email field is empty.</font><br/>";
}
if(empty($BusinessID)){
echo "<font color='red'>Email field is empty.</font><br>/";
}
} else {
//updating the table
$result = mysqli_query($conn, "UPDATE staff SET Name='$Name',Address='$Address',Telephone='$Telephone', BusinessID='$BusinessID' WHERE StaffID = $StaffID");
//redirectig to the display page. In our case, it is index.php
header("Location: HomePHP.php");
}
}
?>
<?php
//getting id from url
$StaffID = $_GET['StaffID']; // <---- ERROR
//selecting data associated with this particular id
$result = mysqli_query($conn, "SELECT * FROM staff WHERE StaffID=$StaffID");
while($res = mysqli_fetch_array($result))
{
$Name = $res['Name'];
$Address = $res['Address'];
$Telephone = $res['Telephone'];
$BusinessID = $res['BusinessID'];
}
?>
您应该首先更改语法以防止SQL注入。我想你的问题到时候就会解决了
$stmt = $mysqli->prepare("UPDATE staff SET Name= ?, Address= ?, Telephone= ?, BusinessID= ? WHERE StaffID = ?");
$stmt->bind_param( "sssii", $Name, $Address, $Telephone, $BusinessID, $StaffID);
$stmt->execute();
谢谢你的答复。在更新部分,我是否保留了“?”以及建议的代码位放在哪里?是的,如果保留了“?”,则“?”与下一行中的变量绑定。请用您的代码行“$result=mysqli_query($conn,“UPDATE staff…”来替换它。非常感谢您的帮助。我学到了很多。不幸的是,它仍然给了我一个未知的索引错误。//从url获取id$StaffID=$\u GET['StaffID'];您要调用的URL是什么?StaffID的语法是否等于URL中的参数?因此,当用户点击页面上的编辑按钮,进入允许输入新更改的新页面,然后update.php应该可以工作时,将调用my update.php。