2016-04-25 10 views
0

Ich arbeite an einer Website, die Benutzer lesen und in eine Datenbank schreiben können.Lesen und Schreiben in eine Datenbank mit PHP mit mehreren Includes

Um es zusammenzufassen, versuche ich eine Eingabe von einem Benutzer zu akzeptieren, schreibe das in die Datenbank mit einer Funktion aus einer separaten PHP-Datei und dann in der Lage, diese Informationen mit einer anderen Funktion als eine separate zu lesen PHP-Datei. Code ist unten:

//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 

?> 

Funktionen/InsertName.php Code

<?php 
session_start(); 

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

Funktionen/MoveFullName.php Code

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

Aus irgendeinem Grund schreibt er die Namen in den Namen Tabelle nur Gut, aber wenn ich die Funktion moveFullName aufrufen möchte, passiert nichts und die Tabelle der Konten bleibt unverändert.

Benötige ich mehr Zeit zwischen den Funktionsaufrufen? Wird versucht, Informationen aus der Datenbank abzurufen, bevor sie überhaupt vorhanden sind?

Jede Hilfe wird geschätzt.

Antwort

0

sollten Sie die Fehlerberichterstattung aktivieren, während Sie PHP lernen (und für die Entwicklung im Allgemeinen):

error_reporting(E_ALL); 

Für Ihre Frage - Ihre moveFullName Funktion erwartet Argument:

function moveFullName($Name) 

, die Sie nicht Passing es:

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

Sorry, ich weiß nicht, wie ich das kopieren über, aber Ich hatte es in meinem Code und es hat immer noch nicht funktioniert. Irgendwelche anderen Ideen? –

+0

Sicher. Überprüfen Sie das Ergebnis von 'mysli_query()'. Wenn ein Fehler angezeigt wird, zeigen Sie an, was 'mysqli_error()' zurückgibt. –