gpt4 book ai didi

php - 无法使用 mysqli_connect() 连接到数据库

转载 作者:太空宇宙 更新时间:2023-11-03 11:33:06 28 4
gpt4 key购买 nike

所以我决定重新开始研究编码,因为我已经放弃了一段时间,我一直在尝试为我的网站创建一个 PHP 登录系统。每次我尝试登录时,我都会收到一个连接错误,指出“无法连接”,方法是使用 or die 函数来测试是否存在问题。通常我总是很遗憾地发现情况就是这样。我环顾了其他一些有类似问题的问题/人。但遗憾的是,我似乎无法确定问题,也无法从中找到解决方案。我查看了我的脚本,似乎没有任何问题。我最好的猜测是由于我的 MySQL 数据库。但老实说,我真的不确定。如果你们中的任何人都可以给我一些关于该怎么做的建议,那就太好了。谢谢,

此外,我还浏览了 PHP 网站,看看是否可以添加任何可能的函数来识别问题,但我无法添加。我不确定这是不是一个愚蠢的问题,但是除了使用 die/exit 之外有没有办法做到这一点?我也试过做 imgs.beastfox.net 这是所有文件所在的位置。希望我给了你所有需要的信息。如果您需要任何其他详细信息,我希望我能提供帮助。我会再次指出,我已经在高处和低处搜索了其他可能有帮助的文章,但我似乎无法弄清楚我的问题。另一件需要注意的事情是,如果有任何问题,我将通过 Namecheap 托管我的网站。

谢谢,大卫

--网站--

imgs.beastfox.net/php/login.php

邮箱:test@test.com

密码:测试

--代码--

<?php
session_start();

if(isset($_SESSION["id"]) || isset($_COOKIE["id"]))
{
header("Location: dashboard.php");
}

if(isset($_POST["login"]))
{
//Gather input variables
$email = $_POST["email"];
$password = $_POST["password"];
//Hash password as pasword should be hashed in database for security reasons. See md5 hashing
$hash_password = md5($password);
$remember_me = $_POST["remember_me"];




//Connect to Database
$host="beastfox.net";
$username="{username}";
$password="{password}";
$db_name="{username}_login";
$tbl_name="login";

$con = mysqli_connect("beastfox.net","{username}","{password}","{username}_login","login")or die("cannot connect");




//Check database to see if email registered to DB
$sql = "SELECT id FROM users WHERE email='$email' LIMIT 1";
$query = mysqli_query($con, $sql);
$count_users = mysqli_num_rows($query);

if($count_users == 1)
{

//Retrieve user details to perform login
$sql = "SELECT * FROM users WHERE email='$email' LIMIT 1";
$query = mysqli_query($con, $sql);
while($row = mysqli_fetch_array($query))
{
$user_id = $row["id"];
$user_password = $row["password"];

}


if($hash_password == $user_password)
{
if($remember_me == 1)
{
//Set Cookie
$cookie_name = "id";
setcookie($cookie_name, $user_id, time() + (86400 * 30), "/");

header("Location: dashboard.php");
}
else
{
//Set Session
$_SESSION["id"] = $user_id;
header("Location: dashboard.php");
}
}
else
{
$error = '<p class="error">Password incorrect.</p>';
}
}
else
{
$error = '<p class="error">Email address not registered.</p>';
}

mysqli_close($con);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no'/>
<title>User Login</title>
<link href="https://fonts.googleapis.com/css?family=Roboto:400,700,900" rel="stylesheet">

<style type="text/css" media="screen">
*{
padding: 0;
margin: 0;
box-sizing: border-box;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-family: 'Roboto', sans-serif;
}
body, html{
width: 100%;
height: 100%;
}

body{
position: relative;
background: #2196f3; /* Old browsers */
background: -moz-linear-gradient(top, #2196f3 0%, #1e88e5 40%, #1565c0 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, #2196f3 0%,#1e88e5 40%,#1565c0 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, #2196f3 0%,#1e88e5 40%,#1565c0 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2196f3', endColorstr='#1565c0',GradientType=0 ); /* IE6-9 */
copy

}

label{
display: block;

}



form{
position: absolute;
top:50%;
left: 50%;
transform: translate(-50%,-50%);
width: 40%;
padding: 30px;
background: #FFF;
-moz-box-shadow: 0 1px 2px 0 rgba(0,0,0,0.15);
-webkit-box-shadow: 0 1px 2px 0 rgba(0,0,0,0.15);
box-shadow: 0 1px 2px 0 rgba(0,0,0,0.15);
border-radius: 5px;
}

.css-input {
padding: 7px 10px;
font-size: 15px;
border-width: 1px;
border-color: #CCCCCC;
background-color: #FFFFFF;
color: #455A64;
width: 100%;
border-style: solid;
border-radius: 0px;
box-shadow: inset 0px 0px 4px rgba(66,66,66,.14);
}
.css-input:focus {
outline:none;
}

form p{
display: block;
margin-bottom: 20px;
}

.clear{
clear: both;
}

.btn {
background: #3498db;
background-image: -webkit-linear-gradient(top, #3498db, #2980b9);
background-image: -moz-linear-gradient(top, #3498db, #2980b9);
background-image: -ms-linear-gradient(top, #3498db, #2980b9);
background-image: -o-linear-gradient(top, #3498db, #2980b9);
background-image: linear-gradient(to bottom, #3498db, #2980b9);
-webkit-border-radius: 8;
-moz-border-radius: 8;
border-radius: 8px;
text-shadow: 1px 1px 3px #666666;
font-family: Arial;
color: #ffffff;
font-size: 17px;
padding: 10px 25px 10px 25px;
border: solid #1f628d 1px;
text-decoration: none;
margin-top: 20px;
cursor: pointer;
}

.btn:hover {
background: #3cb0fd;
background-image: -webkit-linear-gradient(top, #3cb0fd, #3498db);
background-image: -moz-linear-gradient(top, #3cb0fd, #3498db);
background-image: -ms-linear-gradient(top, #3cb0fd, #3498db);
background-image: -o-linear-gradient(top, #3cb0fd, #3498db);
background-image: linear-gradient(to bottom, #3cb0fd, #3498db);
text-decoration: none;
}

h1{
color: #455A64;
font-size: 22px;
line-height: 22px;
padding-bottom: 10px;
border-bottom:1px solid #e9e9e9;
margin-bottom: 20px;
}

label{
display: block;
padding-bottom: 10px;
color: #546E7A;
}

label.remember{
display: inline-block;
line-height: 20px;
cursor: pointer;
}

label.remember input{
float: left;
margin-top: 5px;
}

label.remember span{
font-size: 14px;
color: #1194EA;
text-decoration: underline;
padding-left: 6px;
}

p.error{
padding-bottom: 0;
margin-bottom: 0;
color: #F44336;
padding-top: 15px;
}
</style>


</head>
<body>

<form method="post" action="login.php">
<h1>Login to Dashboard</h1>
<p>
<label for="email">User Email</label>
<input type="email" name="email" required="required" id="email" class="css-input" placeholder="Enter Email Address"/>
</p>


<p>
<label for="password">Password</label>
<input type="password" name="password" required="required" class="css-input" id="password" placeholder="Enter Password"/>
</p>

<label for="remember_me" class="remember">
<input type="checkbox" name="remember_me" id="remember_me" value="1"/>
<span>Remember Me</span>
</label>

<div class="clear"></div>

<button type="submit" name="login" class="btn">Login</button>

<?= $error; ?>
</form>
</body>
</html>

MySQL Database (Dont know if this helps at all)

最佳答案

如果您打开错误报告,您可以验证错误消息。

将以下内容添加到您的 php 脚本的顶部。

<?php 

ini_set('error_reporting' -1);
ini_set('display_errors', 'on');

//...

结果:

Warning: mysqli_connect() expects parameter 5 to be long, string given

您没有收到 mysqli_connect_error 消息的原因是您提供给 mysqli_connect 的参数无效。 See the manual .

mysqli_connect($host, $username, $password, $database_name, $port, $socket);

关于php - 无法使用 mysqli_connect() 连接到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48133013/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com