Page 1 sur 1

Aide sur une requête PHP à rendre compatible avec PHP 5.3

Posté : 17 déc. 2014, 19:43
par Lorie777
Bonjour à tous, je suis sur un serveur avec PHP 5.3
et avec la requête ci-dessous je n'arrive pas à afficher la valeur $remise_ht

Une idée de la modif à apporter pour que cela fonctionne ?
Merci pour votre aide
					$sql_port = "SELECT * FROM tarifs_T WHERE '".$dev->montant."' BETWEEN miniHT AND maxiHT";
					$res_port = mysql_query($sql_port);
					$port_ht = mysql_fetch_array($res_port);

					$sql_port_ti = "SELECT * FROM devis_T WHERE id ='".$id."'";
					$res_port_ti = mysql_query($sql_port_ti);
					$port_ht_ti = mysql_fetch_array($res_port_ti);
					$remise_devis = $port_ht_ti['remise_devis'];
							
					$port_ht_tarif = ($port_ht_ti['port'] != "0.00")?$port_ht_ti['port']:$port_ht['tarif'];										
					mysql_query("UPDATE devis_ti SET port = '".$port_ht_tarif."' WHERE id = '".$id."'");
					if($port_ht_tarif == '9999.00') $port_ht_tarif = '0.00';	
					
					$montant_ht_hors_port = $devis->montant;
					$remise_ht = $remise_devis;
					$montant_ht_remise_hors_port = ($devis->montant * $remise_devis);
					$port_ht = $port_ht_tarif;
					$montant_ht_remise_avec_port = ($montant_ht_remise_hors_port + $port_ht);
					$montant_ttc = ($montant_ht_remise_avec_port * 1.200);
					$tva = ($montant_ttc - $montant_ht_remise_avec_port);
					$marge = $montant_ht_remise_avec_port - $total_achat;
					$pourcentage = round(($marge / $montant_ht_remise_avec_port) * 100);

Re: Aide sur une requête PHP à rendre compatible avec PHP 5.

Posté : 18 déc. 2014, 10:09
par sirakawa
Tente:
$sql_port_ti = "SELECT * FROM devis_T WHERE id ='".$id."'";
print "$sql_port_ti";die(); //et teste la requete avec PHPmyadmin ou autre
                                        $res_port_ti = mysql_query($sql_port_ti);
                                        $port_ht_ti = mysql_fetch_array($res_port_ti);
                                        $remise_devis = $port_ht_ti['remise_devis'];
Au passage, il est inutile que tes requetes portent toutes un nom différent sauf si elles resservent plus loin.
et aussi onpeut aire plus simple:
$sql_port_ti = "SELECT * FROM devis_T WHERE id ='$id.'";

Re: Aide sur une requête PHP à rendre compatible avec PHP 5.

Posté : 24 déc. 2014, 05:58
par AB
et aussi onpeut aire plus simple:
$sql_port_ti = "SELECT * FROM devis_T WHERE id ='$id.'";
Oui mais si tu donne un exemple sans concaténation il faudrait enlever le dernier point(.) :wink:
Cela dit la coloration syntaxique met mieux en évidence les concaténations donc ce n'est pas forcément un bon conseil, ou tout du moins cela dépend du point de vue.

@Lorie777 Elles me font un peu peur tes requêtes sans protection des variables. J'espère que tu les as contrôlées ou castées préalablement sinon tu es vulnérable à une des failles les plus dangereuses qui est l'injection sql.
Et puis tant qu'à développer du nouveau code et si c'est le cas, autant utiliser une extension qui n'est pas dépréciée et donc mysqli ou mieux pdo si tu as un peu plus de temps.