[Fonctions PHP] mauvais résultat

Résolu/Fermé
Utilisateur anonyme - 20 juin 2007 à 20:51
 Utilisateur anonyme - 21 juin 2007 à 07:45
Bonsoir à tous,

voici la fonction suivante:

function port(){
if(!empty($_SERVER['REMOTE_PORT'])) return $_SERVER['REMOTE_PORT'];
else return 'Inconnu';
}

Je veux faire en sorte que le résultat s'inscrive dans une table "essai". J'exécute la requête:

$req="INSERT INTO essai (port) VALUES ('port()')";

Mais il est inscrit "port()" dans ma table au lieu du résultat de la fonction. J'ai essayé sans les apostrophes mais même chose.

Est-ce que quelqu'un peut me venir en aide s'il vous plait ?
merci.
A voir également:

3 réponses

zefoots Messages postés 146 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 11 septembre 2007 62
20 juin 2007 à 22:34
$req = "INSERT INTO essai (port) VALUES ('" . port() . "')";
0
Oui, pour ce genre de situation, lorsque tu dois écrire des requêtes en sql avec le langage php, je te conseil de tester d'abord ta requête en y mettant des valeurs bidons directement dans PhpMyAdmin, ou dans un terminal afin de t'assurer de la "justesse" de la syntaxe. Et ensuite une fois que le résultat obtenu est correcte, transcrit la requête dans ton script PHP, en y laissant les guillemets simple, etc..., correctement quoi.

T'es sur de ne pas te planter avec cette méthode!

Bonne suite!


$port=port();
$req="INSERT INTO essai (port) VALUES ('$port')"; // Je trouve ça plus clair


$req='INSERT INTO essai (port) VALUES (\''.port().'\')';


PS: Fais attention, uniquement les variables seront reconnues au sein de doubles guillemets :
$test="Comment allez-vous monsieur $nom ?"; // => OK
$test="Comment allez-vous monsieur nom() ?"; // => Faux
$test="Comment allez-vous monsieur ".nom()." ?"; // => OK
0
Utilisateur anonyme
21 juin 2007 à 07:45
Merci beaucoup à vous cela marche parfaitement.

PS:merci pour l'astuce effectivement ca semble plus simple mais j'ai encore jamais penser a y tester de cette manière.

Encore merci de votre aide.
Bonne journée
0