Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php更新mysql列时出现问题,始终返回空_Php_Mysql - Fatal编程技术网

使用php更新mysql列时出现问题,始终返回空

使用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=$_

我试图在我的登录表单中做一个记住我的选项。每次我尝试使用令牌值更新表时,该值都不会更新,并且在更新过程后总是返回空值,尽管cookie和会话已经创建。这是我的php代码

<?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`)
);