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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Aide sur une requête PHP à rendre compatible avec PHP 5.3

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

par AB » 24 déc. 2014, 05:58

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.

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

par sirakawa » 18 déc. 2014, 10:09

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.'";

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

par Lorie777 » 17 déc. 2014, 19:43

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);