使用php更新mysql列时出现问题,始终返回空
我试图在我的登录表单中做一个记住我的选项。每次我尝试使用令牌值更新表时,该值都不会更新,并且在更新过程后总是返回空值,尽管cookie和会话已经创建。这是我的php代码使用php更新mysql列时出现问题,始终返回空,php,mysql,Php,Mysql,我试图在我的登录表单中做一个记住我的选项。每次我尝试使用令牌值更新表时,该值都不会更新,并且在更新过程后总是返回空值,尽管cookie和会话已经创建。这是我的php代码 <?php $dbc=mysqli_connect('localhost','root','','store') or die('Can\'t connect.'); session_start();+ { if(isset($_POST['submit_login'])) { $login_username=$_
<?php
$dbc=mysqli_connect('localhost','root','','store') or die('Can\'t connect.');
session_start();+
{
if(isset($_POST['submit_login'])) {
$login_username=$_POST['user_name_login'];
$login_password=$_POST['password_login'];
$statement=mysqli_stmt_init($dbc);
if (mysqli_stmt_prepare($statement, "SELECT * FROM customers_info WHERE user_name=?")) {
mysqli_stmt_bind_param($statement,"s",$login_username);
mysqli_stmt_execute($statement);
$result=mysqli_stmt_get_result($statement);
$num=mysqli_num_rows($result);
}
if($num==1) {
while ($row=mysqli_fetch_assoc($result)) {
$user_name=$row['user_name'];
$enc_user_name=password_hash($user_name,PASSWORD_DEFAULT);
$user_friend=bin2hex(random_bytes(32));
$token=password_hash($user_friend);
$user_signature="$enc_user_name"."___"."$user_friend";
//=====================================================================
if(password_verify($login_password,$row['password'])) {
$_SESSION['user_name']=$user_name;
if(isset($_POST['rememberme'])) {
mysqli_query($dbc,"UPDATE customers_info
SET myenc='$token'
WHERE user_name='$user_name'");
setcookie('cats_love_balls',$user_signature,(time()-3600));
}
header('Location: myfile.php');
}
//===================================================================
}
}
} else {
echo 'not found';
}
}
?>
我不知道这是否重要,但我正在使用Ubuntu 16.04
如果您愿意,我需要您的帮助来解决我的问题。
session\u start()+代码>那+
在那里做什么?通过添加错误报告(E\u ALL)来使用PHP错误报告;ini设置(“显示错误”,1)
在打开PHP标记之后,一些合理的代码缩进将是一个好主意。它帮助我们阅读代码,更重要的是,它将帮助您为自己的利益调试代码。您可能会被要求在几周/几个月内修改此代码,最终您会感谢我。您的脚本有可能查看使用过程中发生的情况,即使您有一些编码错误,因此请遵循@Qirel建议并添加一些错误报告,但也要添加mysqli_报告(mysqli_报告错误| mysqli_报告严格)代码>会话启动()+代码>那+
在那里做什么?通过添加错误报告(E\u ALL)来使用PHP错误报告;ini设置(“显示错误”,1)
在打开PHP标记之后,一些合理的代码缩进将是一个好主意。它帮助我们阅读代码,更重要的是,它将帮助您为自己的利益调试代码。您可能会被要求在几周/几个月内修改此代码,最终您会感谢我。您的脚本有可能查看使用过程中发生的情况,即使您有一些编码错误,因此请遵循@Qirel建议并添加一些错误报告,但也要添加mysqli_报告(mysqli_报告错误| mysqli_报告严格)代码>
CREATE TABLE `customers_info` (
`user_name` varchar(50) NOT NULL,
`password` varchar(255) DEFAULT NULL,
`first_name` varchar(50) DEFAULT NULL,
`last_name` varchar(50) DEFAULT NULL,
`email` varchar(100) DEFAULT NULL,
`myenc` varchar(300) DEFAULT NULL,
PRIMARY KEY (`user_name`)
);