使用PHP将用户更新插入SQL

时间:2013-06-05 19:24:41

标签: php sql insert

我认为我现在非常接近 - 没有更糟糕的橙色盒子有错误 - 我目前唯一能看到的问题是,一旦我更新了表格(在

之后)
$qry = "UPDATE 'members' ('employer', 'flat') WHERE login='$login_name' VALUES ". " ('$employ', $address')";

)我在屏幕上收到消息"No rows updated" echo!

任何想法是什么问题? 感谢。

<?php
    //Start session
    session_start();
    $_SESSION['SESS_LOGIN'];
    //Include database connection details
    require_once('config.php');

//Array to store validation errors
    $errmsg_arr = array();

    //Validation error flag
    $errflag = false;

    //Connect to mysql server
    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if(!$link) {
        die('Failed to connect to server: ' . mysql_error());
    }

    //Select database
    $db = mysql_select_db(DB_DATABASE);
    if(!$db) {
        die("Unable to select database");
    }

    //Function to sanitize values received from the form. Prevents SQL injection
    function clean($str) {
        $str = @trim($str);
        if(get_magic_quotes_gpc()) {
            $str = stripslashes($str);
        }
        return mysql_real_escape_string($str);
    }

    //Sanitize the POST values
    $employ = clean($_POST['employer']);
    $address = clean($_POST['flat']);



?>



<?Php
//Insert employer and address into database row for logged in user.    
$login_name = $_POST['login_name'] ;
$qry = "UPDATE 'members' ('employer', 'flat') WHERE login='$login_name' VALUES ". "     ('$employ', $address')" ;



    $result = @mysql_query($link, $qry);
    //Check whether the query was successful or not
    if(!$result) {
        echo "No rows updated";
        exit();
    }else {
        echo "Success";
    }
?>

2 个答案:

答案 0 :(得分:2)

请勿使用VALUES,请使用SET

"UPDATE `members` SET `employer` = '".$employ."', `flat` = '".$address."' WHERE `login`='".$login_name."'"

答案 1 :(得分:0)

首先,如果您在代码中查找问题,则不应使用@操作符来禁止显示错误消息。你也使用了错误的括号('而不是`)。其余的代码看起来很好。也许你需要给我们一些关于数据库结构的信息