Php 我必须连接到数据库两次才能使用一个函数
在文档的开头,我调用include database.php,其中包含Php 我必须连接到数据库两次才能使用一个函数,php,database,Php,Database,在文档的开头,我调用include database.php,其中包含 $database = new mysqli('localhost', 'root', 'root', 'dbname', 3306); 但是,当我试图通过函数更新db info时,$database变量似乎不存在,所以我必须再次调用它 有什么解决办法吗 功能代码: <?php include 'database.php'; ?> 。 . 这是我的数据库连接文件
$database = new mysqli('localhost', 'root', 'root', 'dbname', 3306);
但是,当我试图通过函数更新db info时,$database变量似乎不存在,所以我必须再次调用它
有什么解决办法吗
功能代码:
<?php
include 'database.php';
?>
。
.
这是我的数据库连接文件:
#这是我的登录页面:
我想你不知道变量的范围?显示函数代码。发布完整代码您需要知道所提到的@u\u mulder的var作用域。@u\u mulder更新您的代码选项卡很差,您的条件集可以简化,并将您的连接变量作为
roll()
的参数传递。这个答案解释了什么?请尝试:-global$database;
<?php
function roll() {
$bet= $_POST["bet"];
$_SESSION['dice1']=rand(1,6);
$_SESSION['dice2']=rand(1,6);
$total=$_SESSION['dice1']+$_SESSION['dice2'];
if($total==2) $win=$bet*2;
else if($total==3 || $total==4) $win=0;
else if($total==10 || $total==11) $win=$bet;
else if($total==12) $win=$bet*4;
else if($total==0) $win=0;
else $win=$bet-(2*$bet);
// $database = new mysqli('localhost', 'root', 'root', 'dbname', 3306);
$database->query("UPDATE users SET balance=balance+'$win' WHERE name='$_SESSION[username]'");
# And this is my database connection file:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$conn->close();
?>
# This is my login page:
<?php
include ('database.php');
include('password_hash_lib/password.php');
if (isset($_POST['data']))
{
$data = $_POST['data'];
$auth = json_decode($data);
$user_email = $auth->Email;
$user_pass = $auth->Password;
authenticate($user_email, $user_pass);
}
function authenticate($Email, $Password)
{
global $conn;
$HashedPassword = password_hash($Password, PASSWORD_DEFAULT);
$sql = "SELECT * FROM app_users WHERE user_email='$Email'";
$result = $conn->query($sql);
$User = $result->fetch_object();
if ($User->user_email == '')
{
header("Location: login-page.html?msg=failed");
}
if (password_verify($Password, $User->user_password_hash))
{
$_SESSION["user_auth_details"] = $User->user_id . "+" . $User->user_email . '+' . $User->user_name . "+" . $User->user_display_image . "+" . $User->user_display_name;
header("Location:" . $_SESSION['page_url']);
}
else {
header("Location: login-page.html?msg=failed");
}
}
?>