所以这就是我遇到的问题......我将解释表格布局。
我有一个名为“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的新手。
答案 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数据库交互。