2017-10-05 2 views
0

Essayé de vérifier les variables de la page peut soumettre le mais les données ne peuvent pas être envoyées à la base de données, déjà tout vérifié et je ne sais pas si j'ai raté quelque chose.PHP et SQL impossible d'envoyer des données de la base de données

if ($ _ SERVER [ 'REQUEST_METHOD'] == 'POST') {

$applicant_ilname = $mysqli->real_escape_string($_POST['applicant_ilname']); 
    $applicant_ifname = $mysqli->real_escape_string($_POST['applicant_ifname']); 
    $applicant_imname = $mysqli->real_escape_string($_POST['applicant_imname']); 
    $isingle = $mysqli->real_escape_string($_POST['isingle']); 
    $imarried = $mysqli->real_escape_string($_POST['imarried']); 
    $iwidow = $mysqli->real_escape_string($_POST['iwidow']); 
    $iwidower = $mysqli->real_escape_string($_POST['iwidower']); 
    $imale = $mysqli->real_escape_string($_POST['imale']); 
    $ifemale = $mysqli->real_escape_string($_POST['ifemale']); 
    $initial_age = $mysqli->real_escape_string($_POST['initial_age']); 
    $initial_homeaddress = $mysqli->real_escape_string($_POST['initial_homeaddress']); 
    $ibMonth = $mysqli->real_escape_string($_POST['ibMonth']); 
    $idateDay = $mysqli->real_escape_string($_POST['idateDay']); 
    $ibYear = $mysqli->real_escape_string($_POST['ibYear']); 
    $ibPlace = $mysqli->real_escape_string($_POST['ibPlace']); 
    $aiPurpose = $mysqli->real_escape_string($_POST['aiPurpose']); 


    $_SESSION['applicant_ilname'] = $applicant_ilname; 
    $_SESSION['applicant_ifname'] = $applicant_ifname; 
    $_SESSION['applicant_imname'] = $applicant_imname; 
    $_SESSION['isingle'] = $isingle; 
    $_SESSION['imarried'] = $imarried; 
    $_SESSION['iwidow'] = $iwidow; 
    $_SESSION['iwidower'] = $iwidower; 
    $_SESSION['imale'] = $imale; 
    $_SESSION['ifemale'] = $ifemale; 
    $_SESSION['initial_age'] = $initial_age; 
    $_SESSION['ibMonth'] = $ibMonth; 
    $_SESSION['idateDay'] = $idateDay; 
    $_SESSION['ibYear'] = $ibYear; 
    $_SESSION['ibPlace'] = $ibPlace; 
    $_SESSION['aiPurpose'] = $aiPurpose; 


    $sql = "INSERT INTO initialform (applicant_ilname, applicant_ifname, applicant_imname, isingle, imarried, iwidow, iwidower, imale, ifemale, initial_age, ibMonth, idateDay, ibYear, ibPlace, aiPurpose)" ."VALUES('$applicant_ilname', '$applicant_ifname', '$applicant_imname', '$isingle', '$imarried', '$iwidow', '$iwidower', '$imale', '$ifemale', '$initial_age', '$ibMonth', '$idateDay', '$ibYear', '$ibPlace', '$ibPlace', '$aiPurpose')"; 


    } 


?> 
+5

Je ne vois pas où vous interrogez/exécutez. –

+1

... ou mes yeux me trompent. –

Répondre

0

vous manquez la partie "exécution" de la requête.

A la fin du fichier juste après le $ sql = ajouter:

mysqli_query($conn, $sql); 

Où $ conn est le var où vous avez configuré la connexion de base de données. Rappelez-vous, malgré $ mysqli-> real_escape_string est une bonne chose, vous devez valider vos données ou vous pouvez essayer d'insérer une valeur nulle ou une chaîne dans le mauvais champ.

Essayez d'utiliser prepared statements et catch the error.

+1

Ceci est plus d'un commentaire [qui a déjà été dit] (https://stackoverflow.com/questions/46590345/php-and-sql-unable-to-send-data-from-database#comment80133712_46590345) qu'une réponse . Une *** bonne réponse *** aura toujours une explication, y compris le code, de ce qu'il faut faire et pourquoi cela a été fait d'une telle manière, non seulement pour le PO mais pour les futurs visiteurs de SO. –

+0

$ sql = "INSERT INTO initialform (nom du demandeur, nom du demandeur, nom du demandeur, nom unique, importé, iwidow, iwidower, imale, ifemale, initiale, ibMonth, idateDay, ibYear, ibPlace, aiPurpose)". "VALUES ('$ nom_possible', ' $ applicant_ifname ',' $ demandeur_imname ',' $ isingle ',' $ imarried ',' $ iwidow ',' $ iwidower ',' $ imale ',' $ ifemale ',' $ initial_age ',' $ ibMonth ',' $ idateDay ',' $ ibYear ',' $ ibPlace ',' $ ibPlace ',' $ aiPurpose ') "; \t \t $ myData = mysqli_query ($ conn, $ sql); } est-ce que vous voulez dire en exécutant la requête d'exécution – Mark

+0

@Mark: ... ce n'est qu'une chaîne, potentiellement prête à être envoyée à la base de données. Toutefois, la chaîne seule ne sera pas automatiquement envoyée à la base de données. D'autres fonctions liées à la base de données sont nécessaires pour transmettre cette chaîne à la base de données. Voir [cet exemple simplifié] (https://www.w3schools.com/PhP/func_mysqli_query.asp) pour établir une connexion DB et quelques exemples de requêtes en utilisant la fonction affichée dans cette réponse. –