IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Écriture impossible dans la base de données [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Octobre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2011
    Messages : 4
    Par défaut Écriture impossible dans la base de données
    Bonjour / Bonsoir à tous…

    Je suis confronté à un souci avec ma base de données car elle me renvoie, après l’exécution de ce code, que MySQL a retourné un résultat vide (aucune ligne).

    Je n'arrive donc pas à renseigner ma base (ÉCRIRE DANS MES TABLES) . Pourtant, j'arrive à afficher les éléments de la base (DONC À LIRE LES ÉLÉMENTS DE LA TABLE).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
      <?php 
     
    $bdd =new PDO('mysql:host=localhost; 
    	dbname=monfuturforum; charset=utf8', 'root', '');
     
     
    if (isset($_POST['pseudo']) AND isset($_POST['message']) 
    							AND !empty($_POST['pseudo'])
    							AND !empty($_POST['message'])
     
     
    	 						   	    ) 
    {
     
     
     
    	$insertmsg = $bdd -> prepare('INSERT INTO chat
    									VALUES ( ?, ? )') ;
     
    	$insertmsg->execute(array( 'pseudo' => $_POST['pseudo'],
    			 		 'description' => $_POST['description'], 
    					 'categorie' => $_POST['categorie'] ) )   ;
     
     
     
    		$requete = $bdd -> prepare('INSERT INTO videos 
    			VALUES ( :titre, :description,:categorie)') ;
     
    		$requete->execute(array(   ($_POST['pseudo']),
    						   		   ($_POST['message']) ) ) ;
     
     
     
    	}
     
    ?>
     
    <html>
    	<head>
    		<title>LUCHE</title>
    		<meta charset ='utf-8'>
    	</head>
     
     
    	<body>
    		<form method ='POST' action=''>
     
    		<input type ='text' name='pseudo' 
    		placeholder='PSEUDO' /><br/><br/>
    		<textarea type ='text' name='message' 
    		placeholder='MESSAGE' ></textarea>
    	</textarea><br/> <br/>
     
    		<input type='submit' value='Envoyer'/>
     
    		</form>
     
    	</body>
     
    </html>

    Certainement, le problème viendrait de ma configuration php/mysql… Mais où exactement ? J'espère pouvoir trouver la solution avec vous.

    Il faut dire, après l'installation de MySQL, Apache 2, PHP 7 et phpMyAdmin , j'ai dû déplacer mon répertoire var/www/html vers /var/www.

    J'ai pris tout de même le soin après ceci de reconfigurer ces répertoires /etc/apache2/sites-available/000-default.conf, etc/apache2/apache2.conf en les redirigeant vers /var/www , qui fait office de mon répertoire de projets.
    Conclusion :

    1. 1 - je n'arrive pas à écrire dans ma base de données avec le code ci-dessus ;
      2 - quand je suis confronté à une erreur , soit php/mysql me renvoie une page toute blanche ou elle me dit : « La page localhost ne fonctionne pas. Impossible de traiter cette demande via localhost à l'heure actuelle. HTTP ERROR 500 ».


    J'utilise Ubuntu.
    Merci pour votre aide et votre disponibilité .

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ligne 17-29, tes paramètres de préparation ne correspondent pas du tout à tes paramètres en execution.

    Pense à activer les erreurs PDO quand tu developpes :
    http://php.net/manual/fr/pdo.error-handling.php

    Ainsi que les erreurs PHP : "erreur 500" dans le cas d'un problème PHP est le résultat d'un serveur qui n'affiche pas les erreurs.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Octobre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2011
    Messages : 4
    Par défaut
    Merci Sabotage ...

    Tu as tout a fait raison (pour les lignes 17 et 29) ... Au fait je teste mes modules pour la création de mon forum local.
    Merci pour le conseil sur l'activation des erreurs PDO.

    Comme je l'ai dit tantôt ... et en particulier pour le code ci-dessous , je n'arrive pas à écrire dans ma base de données

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    <!DOCTYPE html>
    <html>
    	<head>
    		<title>LUCHE</title>
    		<meta charset ='utf-8'>
    	</head>
     
     
    	<body>
    	<form method ='POST' action=''>
    		<input type ='text' name='titre' 
    		placeholder='titre' /><br/>
    		<input type ='text' name='description' 
    		placeholder='description' /><br/>
    		<input type ='text' name='categorie'
    		 placeholder='categorie' /><br/>
     
     
    		<input type='submit' value='OK'/>
    	</form>
     
    	<?php 
     
    		$bdd =new PDO('mysql:host=localhost;
    		 dbname=tuto; charset=utf8', 'root', 
    		 '');
     
    		if (isset($_POST['titre']) 
    			AND isset($_POST['description']) 
     
    	 	  AND isset($_POST['categorie'])
     
    	 						   	    ) 
     
    	{
     
    		$requete = $bdd -> prepare('INSERT INTO videos 
    									VALUES ( :titre, :description,:categorie)') ;
     
    		$requete->execute(array( 'titre' => $_POST['titre'],
    						   		 'description' => $_POST['description'], 
    						   		 'categorie' => $_POST['categorie'] ) )   ;
     
    		?>
     
     
    	<?php 
     
    	}
     
    	?>
     
    	</body>
     
    </html>
    Aussi que dois-je faire quant aux erreurs non affichés par le serveur concernant PHP ?

    Merci pour votre compréhension

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    Y a des espaces en trop

    Pour les erreurs, ca se passe dans php.ini ; il faut vérifier les valeurs de error_reporting, display_errors, log_errors et error_log . La bonne idée étant d'avoir le fichier error_log ouvert en permanence.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Octobre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2011
    Messages : 4
    Par défaut
    Merci scvo.0ne pour ces précisions ...

    Pour les ERREURS non affichées , je suis allé dans le repertoire /etc/php/..../apache2 ... J'ai accédé au fichier php.ini . Dans ce dernier j'ai modifié la valeur de displays_errors, j'ai remplacé off par on. Et ca marche ... Le erreurs s'affichent.

    Pour L'écriture dans les tables de la BDD , dans le meme fichier php.ini , j'ai activé l'extension php_pdo_mysql.dll et ca marche.

    Merci à toi scvo.0ne . SUJET RESOLU.


    PS : Please sco.One , à l'avenir comment mieux exploiter le fichier php.ini vu que celui que j'ai la majeure partie des extensions et des éléments qui y figurent soient soit en commentaires (précédé du point virgule) ou désactivés ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Casse tête: php.ini vu mais non lu par Apache
    Par hornetbzz dans le forum Apache
    Réponses: 1
    Dernier message: 26/08/2010, 01h10
  2. (eclipse)jboss marche mais non déclaré dans eclipse!
    Par olivier57b dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 16/09/2009, 10h08
  3. [Batch] Lecture fichier puis ecriture dans base MySQL
    Par debo41 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 05/08/2009, 18h18
  4. [Joomla!] comment rendre un menu visible mais non cliquable dans joomla
    Par tcone dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 08/02/2007, 23h25
  5. Réponses: 4
    Dernier message: 01/10/2006, 15h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo