Mysql
 sql >> Base de données >  >> RDS >> Mysql

PHP n'insère pas de contenu dans la base de données mySQL :texte, images, n'importe quoi

Votre code échoue pour deux raisons.

  • Votre instruction conditionnelle recherche un élément nommé appelé "soumettre"
  • Vous essayez d'exécuter avant l'instruction. Placez votre requête (mysqli_query() )"ci-dessous " les valeurs et faites mysqli_query($dbCon, $userREQ3) or die(mysqli_error($dbCon));

Remarque :Changer if ($_POST['submit']) { à if (isset($_POST['submit'])) { c'est mieux.

et <input type="submit" value="Write Post"/>
à <input type="submit" name="submit" value="Write Post"/>

Injection SQL :

Votre code actuel est ouvert à injection SQL . Utilisez mysqli avec des relevés préparés , ou PDO avec instructions préparées .

De plus, vous avez des variables dans le corps de votre code, qui peuvent générer une variable x indéfinie lors du chargement initial de la page.

Comme indiqué (dans les commentaires ci-dessous) :Assurez-vous que vous êtes connecté à votre base de données et que vous utilisez une méthode mysqli et non une autre API.

Les différentes API MySQL ne se mélangent pas les unes aux autres. Utilisez la même API MySQL de la connexion à la requête.

Ajouter rapport d'erreurs en haut de vos fichiers, ce qui vous aidera à trouver les erreurs.

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

Note complémentaire : Le signalement d'erreurs ne doit être effectué qu'en préproduction, et jamais en production.

Requête réussie ou non :

Pour voir si la requête a effectivement réussi ou échoué, recherchez les erreurs et utilisez affected_rows .

Références :

Si vous essayez d'utiliser des images, un enctype valide doit être inclus dans les balises de formulaire.

Selon comment/ce que vous vouliez insérer pour les images, cela pourrait être un facteur.

Si vous souhaitez insérer l'image en tant que chemin est une chose, mais l'utiliser "en tant qu'image", disons un BLOB alors sa taille est limitée ; utilisez LONGBLOB et vous devez échapper ces données avant d'aller dans la base de données.

Consulter :