0

こんにちは私はAndroid携帯からの入力を処理するためにサーバー側のデータベースを実行しています。ユーザー情報を保存する機能と、ユーザーの場所を更新する機能の2つがあります。

私が仕事に行くことができない場所を保存するための2番目のもの。

   /**
 * Storing new user
 * returns user details
 */
public function storeUser($name, $email, $password) {
    $uuid = uniqid('', true);
    $hash = $this->hashSSHA($password);
    $encrypted_password = $hash["encrypted"]; // encrypted password
    $salt = $hash["salt"]; // salt
    $result = mysql_query("INSERT INTO users(unique_id, name, email, encrypted_password, salt, created_at) VALUES('$uuid', '$name', '$email', '$encrypted_password', '$salt', NOW())");
    // check for successful store
    if ($result) {
        // get user details 
        $uid = mysql_insert_id(); // last inserted id
        $result = mysql_query("SELECT * FROM users WHERE uid = $uid");
        // return user details
        return mysql_fetch_array($result);
    } else {
        return false;
    }
}

     /**
 * Updating a users
 * location
 */
public function updateLocation($email, $location) {
    $uuid = uniqid('', true);
    $result = mysql_query("UPDATE users SET location='$location' WHERE email='$email' NOW())");

    // check for successful store
    if ($result) {
        // get user details 
        $uid = mysql_insert_id(); // last inserted id
        $result = mysql_query("SELECT * FROM users WHERE email = $email");
        // return user details
        return mysql_fetch_array($result);
    } else {
        return false;
    }
}

どんな助けでも大歓迎です。

ありがとう

4

3 に答える 3

2

更新クエリを見ると、$result = mysql_query("UPDATE users SET location='$location' WHERE email='$email' NOW())"); その一部が欠落しているように見えます。NOW()、おそらくupdated_atに何を設定する必要があるかを伝える必要があります。 "UPDATE users SET location='$location', updated_at = NOW() WHERE email='$email'"

于 2012-10-16T11:52:04.687 に答える
0

エラーがあるようです: " WHERE email='$email' NOW())" into " created_at='NOW()' WHERE email='$email'"

于 2012-10-16T11:50:13.823 に答える
0

SQLの最後に余分なNOW()があります

于 2012-10-16T11:51:01.347 に答える