我的UPDATE代码有问题。因为我是php的新手,我试着通过我的UPDATE命令找出什么是问题,这是我的代码行。我的插入和删除命令很好,但这个让我头疼了4个小时。
<?php
include 'includes/conn.php';
if($_POST){
//write query
$sql = "UPDATE
member
SET
fname = ?,
lname = ?,
mname = ?,
email = ?,
address = ?,
gender = ?,
contact = ?,
email = ?,
username = ?,
password = ?
WHERE
mem_id = ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param(
'sssssssssi',
$_POST['fname'],
$_POST['lname'],
$_POST['mname'],
$_POST['email'],
$_POST['address'],
$_POST['gender'],
$_POST['contact'],
$_POST['username'],
$_POST['password'],
$_POST['mem_id']
);
if($stmt->execute()){
echo "User was updated.";
$stmt->close();
}else{
die("Unable to update.");
}
}
$sql = "SELECT
fname, lname, mname, email, address, gender, contact, username, password, mem_id
FROM
member
WHERE
mem_id = \"" . $mysqli->real_escape_string($_GET['mem_id']) . "\"
LIMIT
0,1";
$result = $mysqli->query( $sql );
$row = $result->fetch_assoc();
extract($row);
$result->free();
$mysqli->close();
?>
希望你们可以通过它给我这个错误的方式帮助o
未定义的索引:第134行的C:\ xampp \ htdocs \ prjTheVillagePlaygroup \ execute_editmenu.php中的mem_id
警告:extract()期望参数1为数组,在第141行的C:\ xampp \ htdocs \ prjTheVillagePlaygroup \ execute_editmenu.php中给出null
答案 0 :(得分:1)
你有
email = ?
在update语句中列出两次。删除第二个。
请注意,您的绑定不必更改。删除后它将具有正确数量的参数。
此外,您使用的$_GET['mem_id']
应该是$_POST['mem_id']
- 所有其他变量都设置为$_POST
关于Warning: extract() expects parameter 1 to be array, null given
,这是由于查询失败。
检查$ result以确保查询成功以及错误是什么:
$result = $mysqli->query( $sql );
if (!$result)
printf("Error: " . mysqli->error); // or use die("Error: " . mysqli->error)
}
$row = $result->fetch_assoc();
extract($row);