gpt4 book ai didi

php - 在使用 PHP 发布之前检查 MySQL 中的多个唯一字段

转载 作者:行者123 更新时间:2023-11-30 23:14:10 25 4
gpt4 key购买 nike

我有以下代码,它插入了一条记录,但我希望用户名和电子邮件字段是唯一的,我该如何修改我的代码来做到这一点?我也遇到了页面未重定向到站点索引的问题。感谢任何帮助

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "createAccount")) {
$insertSQL = sprintf("INSERT INTO tblUser (username, password, userTypeKey, email) VALUES (%s, %s, %s, %s)",
GetSQLValueString($_POST['username'], "text"),
GetSQLValueString($_POST['user_password2'], "text"),
GetSQLValueString($_POST['userType'], "int"),
GetSQLValueString($_POST['user_email'], "text"));

mysql_select_db($database_ignite, $ignite);
$Result1 = mysql_query($insertSQL, $ignite) or die(mysql_error());

$insertGoTo = "index.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}

header(sprintf("Location: %s", $insertGoTo));
}

最佳答案

您需要做的就是编写一个 SELECT 语句,并在数据库中查询 $_POST['username'] 或 $_POST['user_email'],然后编写一个 IF 语句以做出相应的 react 。如果选择找到现有帐户,则报告错误,否则执行插入操作。

我在我自己的框架内创建了一个快速而粗略的示例。您无法将其剪切并粘贴到您自己的代码中,但它应该能有效地演示原理。

$isUnique = $db->checkUniqueUser($_POST['username'], $_POST['user_email']);

if(!odbc_fetch_row($isUnique)){
echo "No dupe. Put your insert statement here.";
} else {
echo "You have a dupe.";
}

//Below are functions that I would use in my Controller class.

public function checkUniqueGroup($user_name = NULL, $user_email=NULL)
{

$querytext= <<<EOD
SELECT User, Email FROM YourTable WHERE User = '$user_name' OR Email = '$user_email'
EOD;

return $this->query($querytext);
}

public function query($querytext)
{
//This example is from my framework. The $conn variable is instantiated in the constructor.
return odbc_exec($this->conn, $querytext);
}

关于php - 在使用 PHP 发布之前检查 MySQL 中的多个唯一字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18645397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com