logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 20-02-2017 16:25:39

justclo
Membre
Inscription : 19-10-2012

PHP tester avant insertion dans la base

Bonjour JE tente d'eviter des doublons , je lance cette requete,
le message ci dessous si la requette est vide

Erreur SQL !
Resource id #4




$result = mysql_query('SELECT * FROM gestech WHERE  NOT EXISTS (SELECT * FROM gestech  WHERE date= "'.$formdate2.'" && tech="'.$_POST['tech_n1'].'" ) ');
$num_rows = mysql_num_rows($result) or die('Erreur SQL !<br>'.$result.'<br>'.mysql_error());

if ($num_rows>0) {
  // do something
  echo' > ok';
  echo'<br>'.$sql3="INSERT INTO gestech (tech,date,repas) VALUE ('".$_POST['tech_n1']."','".$formdate2."','1')";
   mysql_query($sql3)or die ("erreur req ".mysql_error());

}
else{
  // do something else
  echo' > Nok';



}



Merci pour vos éclaircissements

Dernière modification par justclo (20-02-2017 16:29:42)

Hors ligne

#2 20-02-2017 19:07:47

Patriboom
Membre
Lieu : Arctique canadien
Distrib. : Bookworm (12)
Noyau : Linux 6.1.0-13-amd64
(G)UI : MATE
Inscription : 25-12-2008
Site Web

Re : PHP tester avant insertion dans la base

Tu seras mieux servi, en programmation PHP par le forum suivant:

http://forum.phpfrance.com/

Portez la paix
Patrick Allaire, ptre

Hors ligne

#3 20-02-2017 19:10:58

Patriboom
Membre
Lieu : Arctique canadien
Distrib. : Bookworm (12)
Noyau : Linux 6.1.0-13-amd64
(G)UI : MATE
Inscription : 25-12-2008
Site Web

Re : PHP tester avant insertion dans la base

C'est vraisemblablement une erreur dans ta requête SQL qui provoque une « non-réponse ».

Afin de déboguer une requête MySQL, l'utilisation de PHPmyAdmin - onglet « SQL » - est fort utile.
Tu fais un echo de ta requête afin que les variables PHP y apparaissent, puis tu copies-colles ça dans ton PHPmyAdmin

Les messages d'erreurs de SQL te seront livrés là.


$requete = 'SELECT * FROM gestech WHERE  NOT EXISTS (SELECT * FROM gestech  WHERE date= "'.$formdate2.'" && tech="'.$_POST['tech_n1'].'" ) ';
echo $requete;
$result = mysql_query($requete);
$num_rows = mysql_num_rows($result) or die('Erreur SQL !<br>'.$result.'<br>'.mysql_error());

 


Portez la paix
Patrick Allaire, ptre

Hors ligne

#4 20-02-2017 22:32:57

justclo
Membre
Inscription : 19-10-2012

Re : PHP tester avant insertion dans la base

Je vais m'orienter vers phpfrance. Merci
Patrick, je vais essayer de debugguer un peu comme tu dis.
Merci

Hors ligne

Pied de page des forums