Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP MySQL更新没有正确的值_Php_Mysql - Fatal编程技术网

PHP MySQL更新没有正确的值

PHP 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\

我是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\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