다음 코드에 액세스하려고하는데 불행히도이 스크립트를 성공적으로 실행할 수 없습니다. 항상 업데이트되지 않은 오류가 있습니다. 내 DB에 난 단지 3 필드 ID, 이름, fname 여기 내 코드는 다음과 같습니다.mysqli에서 레코드를 업데이트 할 수 없습니다.
index.php를
<div class="left-box">
<h3>UPDATE</h3>
<form action="update.php" method="post">
<select name="choice">
<option value = "action">Update First or Last Name</option>
<option value = "fname">First Name</option>
<option value = "lname">Last Name</option>
</select>
<input type="text" name="id" placeholder="Choose ID"><br>
<input type="text" name="new_value" placeholder="New Value"><br>
<button type="submit" name="submit" value="send">UPDATE</button>
</form>
</div>
update.php
<?php
if(isset($_POST["submit"])){
$choice = $_POST["choice"];
$id = $_POST["id"];
$new_value = $_POST["new_value"];
if($id != "" AND $new_value != "" AND $choice != "")
{
require('db.php');
$db_connection = connect_db();
$status = update_data($db_connection,$id,$choice,$new_value);
if($status) {
header("Location: index.php?id=success&v=Updated succesfully");
}
header("Location: index.php?id=error&v=Not Updated");
}
else {
//echo '<script type="text/javascript">alert("hi")</script>';
header("Location: index.php?id=error&v=Error: All Fields Required");
}
}
else {
header("Location:index.php");
} ?>
db.php를
function connect_db() {
$con = mysqli_connect("localhost","root","","test");
if(!$con){
die("database connection not established");
}
return $con; }
function update_data($con,$id,$choice,$new_value){
$sql="";
if($choice == "fname") {
$sql = "UPDATE crud SET fname = '$new_value' WHERE id = '$id' ";
}
else{
$sql = "UPDATE crud SET lname = '$new_value' WHERE id = '$id' ";
}
$result = mysqli_query($con, $sql);
if(mysqli_affected_rows($con))
{
return true;
}
return false;
}
이 스크립트를 실행 한 후에 데이터베이스의 필드가 업데이트됩니까? –
아니, 내가 SQL 창에서 쿼리를 확인한 다음 성공적으로 실행했지만 gui가 아닌 –
에코와 함께 PHP 코드를 디버깅하고 오류가 발생하는 행을 찾았습니까? –