Condition qui ne fonctionne pas

Résolu/Fermé
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - Modifié le 26 août 2021 à 21:20
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - 26 août 2021 à 21:37
Bonjour,

Voilà une partie de mon code :

try{
	require_once 'sqlconnect.php';

	// cette requête vérifie l'unicité de la machine à créer
	$check = "SELECT uuid FROM devices WHERE uuid='$uuid' AND account_id='$account_id'";
	$checkreq = $bdd ->prepare($check);
	$checkreq ->execute();
	$match = $checkreq ->rowCount();
	$checkreq ->closecursor();

	echo $match;

	if($match > 1)
	{
		header("Location: $PHP_SELF");
		die("Attention doublons détectés dans la base de données");
	}

	if($match = 1)
	{
		$mod = "UPDATE devices SET ip_address='$ip_address', ssh_port='$ssh_port', vnc_port='$vnc_port', connected='$connected', last_active='$last_active' WHERE uuid='$uuid' AND account_id='$account_id'";
		$res = $bdd ->prepare($mod);
		$res ->execute();
		echo "Machine ajoutée (MAJ)";
		$res ->closecursor();
	}

	if($match = 0)
	{
		$sql = "INSERT INTO devices (ip_address,ssh_port,vnc_port,group_name,account_id,label,uuid,connected,removed,last_active,api_id) VALUES (:ip, :ssh, :vnc, :groupe, :compte, :label, :uuid, :connect, :remove, :last, :api)";
		$req = $bdd ->prepare($sql);
		$req ->execute(array(
			':ip' => $ip_address,
			':ssh' => $ssh_port,
			':vnc' => $vnc_port,
			':groupe' => $group_name,
			':compte' => $account_id,
			':label' => $label,
			':uuid' => $uuid,
			':connect' => $connected,
			':remove' => $removed,
			':last' => $last_active,
			':api' => $api_id));
		echo "Machine ajoutée (NEW)";
		$req ->closecursor();
	}
}

catch(PDOException $e){
	echo "Erreur : " . $e->getMessage();
}

?>


Quand la variable $match vaut 0, j'obtiens le message :
Machine ajoutée (MAJ)


Alors que je devrais obtenir le message :
Machine ajoutée (NEW)


Merci pour votre aide.


Configuration: Linux / Firefox 91.0


1 réponse

yg_be Messages postés 22710 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
26 août 2021 à 21:31
bonjour,
est-ce ton premier exercice en PHP?
je suggère de prendre un peu de temps pour étudier les opérateurs de comparaison en PHP.
au minimum, de te poser, quelques minutes, la question "comment est-il possible d'arriver au résultat obtenu"?
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 907
26 août 2021 à 21:37
Salut, ce n'est pas un exercice, c'est un projet personnel auquel je viens d'ajouter une base de données, donc je suis bien obligé de me mettre à PHP.

Je viens de voir mon erreur, merci de m'avoir aiguiller sur la bonne voie.
0