使用具有多个包含的 php 读取和写入数据库


Reading and writing to a database using php with multiple includes

我正在开发一个允许用户读取和写入数据库的网站。

总而言之,我尝试接受来自用户的输入,使用单独的 php 文件中包含的函数将其写入数据库,然后能够使用来自单独 php 文件的不同函数读取该信息。代码如下:

//Main php file that includes the files with functions
<?php
session_start();
$LastName = trim($_POST['LastName']);
include 'Functions/InsertName.php';
insertName($LastName); //Simply add the name to the database
include 'Functions/MoveFullName.php';
moveFullName($LastName); //Selects full name from database, inserts it into a different table
?>

函数/插入名称.php代码

<?php
session_start();
function insertName($Name) {
    require_once('../connect.php');
    $query = "INSERT INTO Names (LastName) VALUES ('$Name')";
    $result = mysqli_query($conn, $query);
}

函数/移动全名.php代码

<?php
session_start();
function moveFullName($Name) {
    require_once('../connect.php');
    $query2 = "SELECT FirstName, LastName FROM Names WHERE LastName = '$Name'";
    $result = mysqli_query($conn, $query2);
    $row = mysqli_fetch_assoc($result);
    $FirstName = $row['FirstName'];
    $LastName = $row['LastName'];
    $query3 = "INSERT INTO Accounts (FirstName, LastName) VALUES ('$FirstName', '$LastName');
    $result3 = mysqli_query($conn, $query3);
}

出于某种原因,它将名称写入名称表中就可以了,但是当我调用 moveFullName 函数时,没有任何反应,帐户表保持不变。

函数调用之间是否需要更多时间?它是否试图在数据库存在之前从数据库中获取信息?

任何帮助,不胜感激。

您应该在学习 PHP 时启用错误报告(以及一般的开发):

error_reporting(E_ALL);

对于您的问题 - 您的moveFullName函数需要参数:

function moveFullName($Name) 

你没有通过调用它:

include 'Functions/MoveFullName.php';
moveFullName();