Forums Développement Multimédia

Aller au contenu

Problèmes avec tutoriel Insérer, modifier, supprimer des données en PHP

TUTO

3 réponses à ce sujet

#1 ninouee

    Ceinture Blanche

  • Members
  • Pip
  • 2 messages

Posté 02 August 2016 - 06:36 AM

Bonjour à tous,

J'ai suivi votre tutoriel concernant Insérer, modifier, supprimer des données en PHP sur ce lien http://forums.mediab...r-des-donne-php

Il est très bien expliqué et j'ai tenté de l'adapter à mes besoins et j'ai une erreur que je ne comprend pas.

Warning: mysql_query() expects parameter 2 to be resource, object given in C:\wamp64\www\tests\modification2.php on line 31

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp64\www\tests\modification2.php on line 35

Je pense que ça vient de mes modifications et des variables qui sont différentes mais je ne comprend pas mon erreur. Je vous joint mes fichiers.

Est-ce que vous auriez un indice pour que je puisse comprendre mon erreur?

Merci

Fichier(s) joint(s)



#2 Zoulgy

    Ceinture Blanche

  • Members
  • Pip
  • 2 messages

Posté 02 August 2016 - 09:18 AM

Bonjour,

avec le langage PHP, l'accès aux bases de données peut se faire de 2 manières: le natif et PDO.
Dans modification2.php, les 2 méthodes sont utilisées en meme temps donc ça coince un peu ;)

Accès aux BDD avec PDO
PDO est un connecteur universelle pour plusieurs base de données, l'intéret est de pouvoir lire plusieurs types de base de données avec la meme syntaxe.
Voici un exemple pour les bases SQLite avec PHP

Accès aux BDD avec mysql_query
Voici un exemple pour les bases Mysql

Pour le script modification2.php, voici un exemple de syntaxe qui devrait marcher
mysqli_connect($sql, $user, $password);
mysqli_select_db($base);
$sql = 'SELECT nom, prenom ,
DATE_FORMAT(naissance, "%d/%m/%Y") AS naissance , id
FROM personnalite
WHERE id ='.$id;
$requete = mysqli_query(sql);

Peu importer si l'on utilise PDO ou mysql_x, par contre il n'est pas possible de mélanger les 2 techniques.

#3 ninouee

    Ceinture Blanche

  • Members
  • Pip
  • 2 messages

Posté 02 August 2016 - 19:06 PM

Bonjour et merci pour l'explication. Je découvre php ça tu as dû le voir. J'ai du mal à différencier natif et pdo mais mes fichier que j'ai partagé sont des exercices pour comprendre et construire mon site par la suite.

Alors ça avance mais c'est toujours pas ça.


Mon fichier est modifié selon tes instruction

<?php


//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement modifier
$id = $_GET['id'] ;

//requête SQL:
$sql = 'SELECT nom, prenom ,
DATE_FORMAT(naissance, "%d/%m/%Y") AS naissance , id
FROM personnalite
WHERE id ='.$id;



//exécution de la requête:
$requete = mysqli_query(sql);


//affichage des données:
if ( $result = mysqli_fetch_object( $requete ) )
{
?>

<form name="index" action="modification3.php" method="POST">

<table border="0" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td>nom</td>
<td><input type="text" name="nom" value="<?php echo($result->nom) ;?>"></td>
</tr>
<tr align="center">
<td>prenom</td>
<td><input type="text" name="prenom" value="<?php echo($result->prenom) ;?>"></td>
</tr>
<tr align="center">
<td>naissance</td>
<td><input type="text" name="naissance" value="<?php echo($result->naissance) ;?>"></td>
</tr>
<tr align="center">
<td>photo</td>
<td><input type="text" name="photo" value="<?php echo($result->photo) ;?>"></td>
</tr>

<tr align="center">
<td colspan="2"><input type="submit" value="modifier"></td>
</tr>
</table>
</form>

<?php
}//fin if
?>



et j'ai les erreurs suivantes:
Notice: Use of undefined constant sql - assumed 'sql' in C:\wamp64\www\tests\modification2.php on line 23
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\wamp64\www\tests\modification2.php on line 23
Warning: mysqli_fetch_object() expects parameter 1 to be mysqli_result, null given in C:\wamp64\www\tests\modification2.php on line 27

#4 Zoulgy

    Ceinture Blanche

  • Members
  • Pip
  • 2 messages

Posté 03 August 2016 - 08:41 AM

décodage des erreurs PHP
1. Notice: Use of undefined constant sql - assumed 'sql' in C:\wamp64\www\tests\modification2.php on line 23
Ajoute un dollar devant le nom de la variable
$requete = mysqli_query($sql);

2. Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\wamp64\www\tests\modification2.php on line 23
as-tu mis la connexion a la base quelque part ?
$mysql_connexion=mysqli_connect("localhost","my_user","my_password","my_db");

et ensuite faire la requete
$requete = mysqli_query($mysql_connexion,$sql);

dit moi, est-ce qu'il reste des erreurs ?



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP