如何在PHP、sqli中更新记录
我想更新数据库中的记录并在表中显示,但这段代码我无法理解发生了什么问题。请通知我谢谢。我非常感谢你,亲爱的。我怎样才能纠正它??这段代码如何可能以及出现了什么问题如何在PHP、sqli中更新记录,php,html,mysql,sql,Php,Html,Mysql,Sql,我想更新数据库中的记录并在表中显示,但这段代码我无法理解发生了什么问题。请通知我谢谢。我非常感谢你,亲爱的。我怎样才能纠正它??这段代码如何可能以及出现了什么问题 <?php include("connection.php"); $edit_rec = $_GET['edit']; $query= "SELECT * from card_rec where id='$edit_rec'"; $run = mysqli_query($con,$query); $row = mysqli
<?php
include("connection.php");
$edit_rec = $_GET['edit'];
$query= "SELECT * from card_rec where id='$edit_rec'";
$run = mysqli_query($con,$query);
$row = mysqli_fetch_row($run);
if ($_POST)
{
$name = $_POST['name'];
$fname = $_POST['fname'];
$school = $_POST['school'];
$address = $_POST['address'];
$contact = $_POST['contact'];
$id = $_POST['id'];
$query1="UPDATE card_rec SET name='$name', fname='$fname', school='$school',address='$address',contact= '$contact' WHERE id='$id'";
if ($query1) {
echo "<script>alert('Record Update'); window.location = 'card_rec.php' </script>";
}
else
{
echo "not update";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Update</title>
</head>
<body>
<form method="post">
<input type="hidden" name="id" value="<?php echo $row[0] ?>"><br>
<input type="text" name="name" value="<?php echo $row[1] ?>"><br>
<input type="text" name="fname" value="<?php echo $row[2] ?>"><br>
<input type="text" name="school" value="<?php echo $row[3] ?>"><br>
<input type="text" name="address" value="<?php echo $row[4] ?>"><br>
<input type="text" name="contact" value="<?php echo $row[5] ?>"><br>
<input type="submit" name=" submit">
</form>
</body>
</html>
使用mysqli_error()函数获取最近函数调用的错误描述
$query= "SELECT * from card_rec where id='$edit_rec'";
$run = mysqli_query($con,$query) or die (mysqli_error($con));
$query1="UPDATE card_rec SET name='$name', fname='$fname', school='$school',address='$address',contact= '$contact' WHERE id='$id'";
if (mysqli_query($con, $query1)) {
echo "updated";
} else {
echo "not updated";
}
当然,您没有运行上一个查询,因此它不会做任何事情。你的代码需要一些优化
始终检查$\u POST操作,不要为空,并尝试使用一个类,而不是这个混乱的代码
<?php
$serverName = "localhost";
$username = "username";
$password = "password";
$dbName = "myDB";
// Create connection
$conn = new mysqli($serverName, $username, $password, $dbName);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if (isset($_POST) and !empty($_POST)) {
$name = $_POST['name'];
$fname = $_POST['fname'];
$school = $_POST['school'];
$address = $_POST['address'];
$contact = $_POST['contact'];
$id = $_POST['id'];
$query1="UPDATE card_rec
SET
name='$name',
fname='$fname',
school='$school',
address='$address',
contact= '$contact'
WHERE id='$id'";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
}
您的脚本有风险,您甚至可以查看一下在使用过程中发生了什么。您不知道哪里出了问题,因为您没有检查代码中的错误。永远不要假设代码总是能够完美地工作。用于从数据库获取详细的错误消息。您从未执行过查询或向其传递过db连接,因此您的更新从未发生过。@johncode“使用mysqli_error()从数据库获取详细的错误消息”请参阅上面我对他们的评论;-)无法检查他们没有做什么lol