PHP MySQL更新没有正确的值
我是MySQL的新手,我有一个问题。我有一个数据库等,工作非常好。我可以更新电子邮件,但它无法识别是否有更新的价值 phpPHP MySQL更新没有正确的值,php,mysql,Php,Mysql,我是MySQL的新手,我有一个问题。我有一个数据库等,工作非常好。我可以更新电子邮件,但它无法识别是否有更新的价值 php if(isset($\u POST['updateemail'])){ $sname=mysqli\u real\u escape\u字符串($conn,$\u POST['sname']); $fname=mysqli\u real\u escape\u字符串($conn,$\u POST['fname']); $email=mysqli\u real\u escape\
if(isset($\u POST['updateemail'])){
$sname=mysqli\u real\u escape\u字符串($conn,$\u POST['sname']);
$fname=mysqli\u real\u escape\u字符串($conn,$\u POST['fname']);
$email=mysqli\u real\u escape\u字符串($conn,$\u POST['useremail']);
如果($sname==“”&&$fname==“”){
echo“
名称不能为空”;
}否则{
$sql=“更新表集电子邮件='$email',其中surename='$sname'或firstname='$fname';
$result=mysqli\u查询($conn,$sql);
如果($结果){
echo“
电子邮件已更新!”;
}否则{
回显“
电子邮件更新不成功。”;
echo“
错误:“.sql.
”.mysqli_错误($conn);
}
}
}
有人知道问题出在哪里吗?提前谢谢
我还有另一个代码,与此代码有点类似,但它没有“或”,也无法识别是否有我键入的名称。if(isset($\u POST['updateemail'])){
if (isset($_POST['updateemail'])) {
$sname = mysqli_real_escape_string($conn, $_POST['sname']);
$fname = mysqli_real_escape_string($conn, $_POST['fname']);
$email = mysqli_real_escape_string($conn, $_POST['useremail']);
if($sname == "" && $fname == ""){
echo "<br> Name can not be empty";
} else {
// Search for valid user
$sql = "SELECT table WHERE surename = '$sname' AND firstname = '$fname'";
$found = mysqli_query($conn, $sql) or die("Can't search for user: " . mysqli_error($conn));
if(mysqli_num_rows($found) == 1) {
// User found, let's update
$sql = "UPDATE table SET email = '$email' WHERE surename = '$sname' AND firstname = '$fname'";
$result = mysqli_query($conn, $sql);
if ($result) {
echo "<br> Email updated!";
} else {
echo "<br> Email update not succesful.";
echo "<br> Error: " . $sql . "<br>" . mysqli_error($conn);
}
} else {
echo "<br> User not found!";
}
}
$sname=mysqli\u real\u escape\u字符串($conn,$\u POST['sname']);
$fname=mysqli\u real\u escape\u字符串($conn,$\u POST['fname']);
$email=mysqli\u real\u escape\u字符串($conn,$\u POST['useremail']);
如果($sname==“”&&$fname==“”){
echo“
名称不能为空”;
}否则{
//搜索有效用户
$sql=“选择表,其中surename='$sname'和firstname='$fname';
$found=mysqli_query($conn,$sql)或die(“无法搜索用户:”.mysqli_error($conn));
if(mysqli_num_rows($found)==1){
//找到用户,让我们更新
$sql=“UPDATE table SET email='$email',其中surename='$sname'和firstname='$fname';
$result=mysqli\u查询($conn,$sql);
如果($结果){
echo“
电子邮件已更新!”;
}否则{
回显“
电子邮件更新不成功。”;
echo“
错误:“.sql.
”.mysqli_错误($conn);
}
}否则{
回显“
未找到用户!”;
}
}
if(isset($\u POST['updateemail'])){
$sname=mysqli\u real\u escape\u字符串($conn,$\u POST['sname']);
$fname=mysqli\u real\u escape\u字符串($conn,$\u POST['fname']);
$email=mysqli\u real\u escape\u字符串($conn,$\u POST['useremail']);
如果($sname==“”&&$fname==“”){
echo“
名称不能为空”;
}否则{
//搜索有效用户
$sql=“选择表,其中surename='$sname'和firstname='$fname';
$found=mysqli_query($conn,$sql)或die(“无法搜索用户:”.mysqli_error($conn));
if(mysqli_num_rows($found)==1){
//找到用户,让我们更新
$sql=“UPDATE table SET email='$email',其中surename='$sname'和firstname='$fname';
$result=mysqli\u查询($conn,$sql);
如果($结果){
echo“
电子邮件已更新!”;
}否则{
回显“
电子邮件更新不成功。”;
echo“
错误:“.sql.
”.mysqli_错误($conn);
}
}否则{
回显“
未找到用户!”;
}
}
使用mysqli受影响的行($conn)
换衣服
if ($result) {
echo "<br> Email updated!";
}
if($result){
echo“
电子邮件已更新!”;
}
对此
if (mysqli_affected_rows($conn) > 0) {
echo "<br> Email updated!";
}
if(mysqli受影响的行($conn)>0){
echo“
电子邮件已更新!”;
}
使用mysqli受影响的行($conn)
换衣服
if ($result) {
echo "<br> Email updated!";
}
if($result){
echo“
电子邮件已更新!”;
}
对此
if (mysqli_affected_rows($conn) > 0) {
echo "<br> Email updated!";
}
if(mysqli受影响的行($conn)>0){
echo“
电子邮件已更新!”;
}
您所说的“无法识别是否没有要更新的值”到底是什么意思?您只需运行另一个查询来首先搜索用户,但您可能有很多以“John”为名字的用户,所有用户都将使用该电子邮件进行更新。如果我插入一个值(firstname或surename)在html中,无论它是否在数据库中,它仍然显示“Email updated!”,无论我在其中键入什么,然后单击update。如果执行了查询,无论记录是否更新,mysqli_query()都会返回true。我希望举个例子——我真的不知道如何做(真的只是一个初学者)…如果每个名字相同的人都会更新,这其实并不重要,但我不希望@triby你所说的“如果没有要更新的值,就无法识别”到底是什么意思?您只需先运行另一个查询来搜索该用户,但猜测您有许多名为“John”的用户,所有用户都将使用该电子邮件进行更新。如果我在html中插入一个值(firstname或surename),它是否在数据库中并不重要-它仍然显示“电子邮件已更新!”无论我在其中键入什么,然后单击“更新”。如果执行了查询,无论记录是否更新,mysqli_query()都会返回true。我希望举个例子——我真的不知道怎么做(真的只是一个初学者)…如果每个同名的人都会更新,这并不重要,但我不喜欢@Triby