MySQLi&;mysql\u real\u escape\u string()给了我一大堆错误
我的更新代码有问题,因为我是新来php的,所以我试图用我的更新命令找出问题所在。这是我的代码行。我的insert和delete命令很好用,但这个命令让我头痛了4个小时MySQLi&;mysql\u real\u escape\u string()给了我一大堆错误,string,mysqli,escaping,String,Mysqli,Escaping,我的更新代码有问题,因为我是新来php的,所以我试图用我的更新命令找出问题所在。这是我的代码行。我的insert和delete命令很好用,但这个命令让我头痛了4个小时 <?php include 'includes/conn.php'; if($_POST){ //write query $sql = "UPDATE
<?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();
?>
希望你们能帮我解决这个问题
未定义索引:第134行C:\xampp\htdocs\prjTheVillagePlaygroup\execute_editmenu.php中的mem_id
警告:extract()要求参数1为数组,在第141行的C:\xampp\htdocs\prjTheVillagePlaygroup\execute_editmenu.php中给出空值
你有
email = ?
在update语句中列出两次。删除第二个
请注意,您的绑定不必更改。删除后,它将具有正确数量的参数
另外,您使用的是$\u GET['mem\u id']
,可能是$\u POST['mem\u id']
——所有其他变量都设置为$\u POST
关于警告:extract()预期参数1为数组,如果给定为null,这是由于查询失败
检查$result以确保查询成功以及错误是什么:
$result = $mysqli->query( $sql );
if (!$result)
printf("Error: " . mysqli->error); // or use die("Error: " . mysqli->error)
}
$row = $result->fetch_assoc();
extract($row);
查询中占位符的数量与您在$stmt->bind_param()
中使用的参数数量不匹配。您在查询中使用了两次email
。对于这篇帖子,我感到非常抱歉,但仍然没有睡好觉(Krister Andersson,已经检查并删除了额外的电子邮件,但仍然没有关于它给我的错误的线索。mseifert先生,但已经删除了它,但错误仍然与C:\xampp\htdocs\prjTheVillagePlaygroup\execute\u editmenu.php中的未定义索引:mem_id在第134行警告:extract()预期参数1为数组,在C:\xampp\htdocs\prjTheVillagePlaygroup\execute\u editmenu.php的第141行中为空。错误总是在这一部分触发-->mem\u id=\”。$mysqli->real\u escape\u string($\u GET['mem\u id'])。“\”感谢所有帮助。!您正在使用$\u GET['mem id'
可能是$\u POST['mem id']
-所有其他变量都用$\u POST设置