我有一个程序,可以将注册数据从一个数据表移动到另一个数据表(认为电子邮件确认后,登录激活页面从temp变为永久)。我还不是最好的Mysql,仍然在学习,所以这可能是一个愚蠢的问题。我已经检查了所有的stackoverflow,它看起来像我正确地做。为什么我的SELECT代码不工作?
由于某种原因,我的选择呼叫不起作用。这里有一点我的代码:
$username = mysqli_query($dbc,"SELECT 'username' FROM 'temp_users' WHERE 'activation'= '$key'");
$password = mysqli_query($dbc,"SELECT 'password' FROM 'temp_users' WHERE 'activation'= '$key'");
// Add row to database
mysqli_query($dbc,"INSERT INTO users (username, password, salt', 'email') VALUES ('$username', '$password_hash', '$salt', '$email')");
echo $username, $password, $email, mysqli_affected_rows($dbc), $key;
// Print a customized message:
if (mysqli_affected_rows($dbc) == 1) //if update query was successfull
{
echo '<div>Your account is now active. You may now <a href="login.php">Log in</a></div>';
} else {
echo '<div>Oops !Your account could not be activated. Please recheck the link or contact the system administrator.</div>';
}
我回声把我的变量,所以我可以看到发生了什么事情。在这一点上,$ key是正确的,$ email是从以前的代码是正确的,mysqli_affected_rows($ dbc)给我一个-1(这意味着错误)。 $ username和$ password是空白变量,所以很明显,我正在做SELECT错误。
有什么想法或帮助?
* *简单,那是因为你用你的周围表名和列报价;只是删除它们。 –
爱上(一致):'插入用户(用户名,密码,盐','email'';) –
是的,我也注意到了。 OP有一种奇怪的方法来查询DB @TheBlueDog没有打扰回答。我认为这只会打开一句谚语的“蠕虫罐头”。 OP的代码是过度杀伤性的,相当混乱,*充其量*。 –