我需要帮助更新特定用户的sql条目

时间:2014-01-12 19:34:41

标签: php mysql sql

所以这就是我遇到的问题......我将解释表格布局。

我有一个名为“reg_users”的表

在这张桌子里面,我有“电子邮件”“uuid”“令牌”等....

当用户创建帐户时,它会向包含电子邮件的reg_users表发布一行。 但是UUID仍然是空白的,因为我希望它们能够更新UUID字段。

使用下面的脚本,我可以替换uuid并更新它 - 但它只有在uuid字段不为空时才有效。

      <?php
require_once 'includes/main.php';

$user = new User();

if(!$user->loggedIn()){
    redirect('index.php');
}


 mysql_connect("sqlhost", "myusername", "password") or die(mysql_error()); 
 mysql_select_db("gl1tchr") or die(mysql_error());
 $uuidold = "$user->uuid";
 // Collects data from "reg_users" table 
 $data = mysql_query("UPDATE `reg_users` SET `uuid` = replace(uuid, '$uuidold', '$newuuid')") 
 or die(mysql_error()); 
 ?>

所以我需要知道如何进入表“reg_users”并找到他们的电子邮件所在的行 - 并更新特定行上的字段“uuid”。

该特定用户的“uuid”字段中生成随机数的脚本或脚本,以便我的搜索和替换脚本能够正常工作。

感谢任何可以帮助我的人 - 我是SQL的新手。

2 个答案:

答案 0 :(得分:0)

你应该为你的UUID字段使用一个叫做主键和自动增量的东西,它不应该是可更新的。这是一个唯一的ID,因此您可以标识每一行,并对该行进行更新。

答案 1 :(得分:0)

虽然我同意在创建后不应更新ID号,并且您应该使用自动递增的密钥,如果这不是用户ID字段并且用于存储其他内容,请按以下步骤操作:

$email = $user->email;  // or whatever you store the email in
$data = $mysql_query("UPDATE `reg_users` SET uuid = '$uuid_new' WHERE `email` = '$email'"); 

这需要知道用户的电子邮件地址,我认为您从问题中获得了该地址。

您可能还想查看PHP的mysqli extension,这是一个面向对象的接口,用于与MySQL数据库交互。