所以我有2个表:管理员和雇员只有2列他们共同分享
一份登入表格
和2个独立的仪表板
为了将它们临时放在一个表中,我将它们与UNION合并,并添加了一个临时列来定义用户的类型,从而登录到正确的仪表板。
因此,在经过长时间的搜索和大量的跟踪和错误之后,我得出结论,这是我作为一个新手在这个领域所能做和理解的最好的事情。
这就是我最后一篇文章的样子:
// preparing a temporary table that unions the admin and employee tables
$TMP = "SELECT EMP_ID AS ID, EMP_EMAIL AS EMAIL, 2 AS TYPE FROM employee
UNION
SELECT ID, EMAIL, 1 AS TYPE FROM admin ";
$result = $con->prepare($TMP);
$result-> execute();
$result-> store_result();
$result-> fetch();
// preparing select statement for logging in
$stmt = $con->prepare('SELECT `TYPE` FROM `".$result."` WHERE `ID` = ?');
// Bind parameters (s = string, i = int, b = blob, etc), in our case the username is a string so we use "s"
$stmt->bind_param('i', $_POST['ID']);
$stmt->execute();
// Store the result so we can check if the account exists in the database.
$stmt->store_result();
if ($stmt->num_rows > 0) {
$stmt->bind_result($ID);
$stmt->fetch();
}
if ($stmt['TYPE'] == 1) {
if ($_POST['ID'] == $ID) {
// Verification success! User has loggedin!
// Create sessions so we know the user is logged in, they basically act like cookies but remember the data on the server.
session_regenerate_id();
$_SESSION['loggedin'] = TRUE;
$_SESSION['email'] = $_POST['EMAIL'];
$_SESSION['id'] = $ID;
echo 'Welcome ' . $_SESSION['email'] . '!';
} else {
echo 'Incorrect password!';
}
} else if ($stmt['TYPE'] == 2) {
if ($_POST['ID'] == $ID) {
// Verification success! User has loggedin!
// Create sessions so we know the user is logged in, they basically act like cookies but remember the data on the server.
session_regenerate_id();
$_SESSION['loggedin'] = TRUE;
$_SESSION['email'] = $_POST['EMAIL'];
$_SESSION['id'] = $ID;
echo 'Welcome ' . $_SESSION['email'] . '!';
} else {
echo 'Incorrect password!';
}
}
$stmt-> close();
$result-> close();
$con-> close();
使用的代码来自一个用于记录一个用户的教程,它对我来说很好,但由于我的目标不同,我尝试根据需要修改它,但不幸的是,绑定参数的致命错误不断出现。
我真的很感谢你给我一些时间。非常感谢。
问题出在外部引号”
vs“
当准备好的语句失败时,它将返回一个布尔值(false)。
文献资料
mysqli_prepare()返回语句对象,如果发生错误,则返回FALSE。
我想你的意思是这样写的:
$stmt = $con->prepare("SELECT `TYPE` FROM `".$result."` WHERE `ID` = ?");
我正忙于从DB获取设置的函数,突然,我遇到了以下错误: 通常,这意味着我正在从不存在的表和东西中选择东西。但在这种情况下,我不是... 下面是getSting函数:
index.php 索引文件上有一个错误: 致命错误:调用第4行布尔值上的成员函数count()。
密码 错误 致命错误:调用第26行C:\xampp\htdocs\create.php中布尔值的成员函数bind_param()
我问了几个问题,但没有人帮忙。 致命错误:在中的布尔值上调用成员函数bind_param()- 我在PDO中使用PHP5和mySql: 连接和选择工作正常,但插入不想工作 这就是我的功能: 数据库模式是: id(int not null auto_inc)|昵称(varchar not null)|电子邮件(varchar not null)| insertdate(datetime)| upda
连接失败:SQLState[28000][1045]拒绝用户“rkcat”@"localhost“(使用密码:YES)的访问。严重错误:对中的非对象调用成员函数query()
这是我的函数,我在这里坐了很长时间,试图找出什么不起作用,它说它在$stmt2的行上- 如果我放一个$stmt2-