php - 从数据库中提取自动增量到 php var
问题描述
<?php
session_start();
include ("dbconnectie.php");
if(isset($_SESSION['on'])) {
header("location:homepage.php"); }
if(isset($_POST['login'])) {
$username = $_POST['username'];
$password = sha1($_POST['password']);
$query = $db->prepare("SELECT * FROM account
WHERE username = :user
AND password = :pass");
$query->bindParam("user", $username);
$query->bindParam("pass", $password);
$query->execute();
$result = $query->fetchALL(PDO::FETCH_ASSOC);
$id1 = $result['id_u'];
if($query->rowCount() == 1) {
$_SESSION['on'] = $username;
$_SESSION['id_u'] = $id1;
header("location:homepage.php");
} else {
echo "The username and password do not match";
}
echo "<br>";
}
?>
在第 12 行,我试图从“帐户”表中选择自动增量 id_u。但取而代之的是它给了我一个错误说:
注意:未定义索引:第 16 行 /storage/ssd2/719/5658719/public_html/signin.php 中的 id_u
警告:无法修改标头信息 - 标头已由第 20 行 /storage/ssd2/719/5658719/public_html/signin.php 中的(输出开始于 /storage/ssd2/719/5658719/public_html/signin.php:16)发送
我无法理解为什么
解决方案
您正在尝试在执行查询之前分配:
$id1 = $query['id_u'];
尝试移动之后$query->execute();
尝试这个:
<?php
session_start();
include ("dbconnectie.php");
if(isset($_SESSION['on'])) {
header("location:homepage.php"); }
if(isset($_POST['login'])) {
$username = $_POST['username'];
$password = sha1($_POST['password']);
$query = $db->prepare("SELECT * FROM account
WHERE username = :user
AND password = :pass");
$query->bindParam("user", $username);
$query->bindParam("pass", $password);
$query->execute();
$result = $query->fetch(PDO::FETCH_ASSOC);
$id1 = $result['id_u'];
if($query->rowCount() == 1) {
$_SESSION['on'] = $username;
$_SESSION['id_u'] = $id1;
header("location:homepage.php");
}
else {
echo "The username and password do not match";
}
echo "<br>";
}
?>
推荐阅读
- angular - Angular 2更改路由(URL)并从数据库加载数据
- python - 遍历 pandas 数据框中的 datetime64 列
- powershell - Powershell:不正确的返回为最高值
- sonarqube - 在向 ActiveMQ 发送消息的情况下删除 Thread.sleep()
- android - Android 下载文件到内部应用空间
- c# - 你如何获得远程计算机的主机名?
- r - 使用系统和回声未提供正确的文本
- java - 在 NestedScrollView 中隐藏滚动视图并取而代之
- php - 更新今天 created_at 的记录 - Laravel
- mysql - 带有 MySql 提供程序的实体框架核心上的许多“包含”