Page 1 sur 1

Commande avec ' " et variables

Posté : 26 avr. 2006, 11:17
par Santro
Bonjour je souhaite effectué une commande du genre
$req ='logparser "SELECT Type, TimeGenerated, Source, EventID, ComputerName INTO sys.csv FROM \\\\$serveur\\$act WHERE 'Date'=$date"';
Le problême est que PHP ne reconnait pas mes variables donc je suis un peu embeter, apres avoir essayé moult version de cette requete il m'indique toujours parse error.
Pourtant j'ai mis correctement les ';' a cette requete et a la phrase d'avant.

Merci

Posté : 26 avr. 2006, 11:21
par charabia
Tu as des soucis de ' et " je pense.

Testes ceci :
$req = 'logparser "SELECT Type, TimeGenerated, Source, EventID, ComputerName INTO sys.csv FROM \\\\$serveur\\$act WHERE Date='.$date.'"';

Commande avec ' " et variables

Posté : 26 avr. 2006, 11:25
par Santro
Merci mais cela ne marche toujours pas

Je doit afficher trois variables
$serveur
$act
$date

Posté : 26 avr. 2006, 11:27
par charabia
Ah oui je n'ai pas vu les autres variables. Pourquoi tous ces \\\ ?
$req = 'logparser "SELECT Type, TimeGenerated, Source, EventID, ComputerName INTO sys.csv FROM '.$serveur.','.$act.' WHERE Date='.$date.'"';
$serveur et $act sont bien des noms de tables ?

Posté : 26 avr. 2006, 11:27
par Ryle
Entre guillemets (") php est capable d'interpreter tes variables, mais il ne le fait pas entre apostrophes (') :
$var = "toto";
echo "mon nom est $var"; // affiche "mon nom est toto"
echo 'mon nom est $var'; // affiche 'mon nom est $var'
Le mieux étant dans tous les cas de sortir les variables comme l'a fait charabia.

Par contre à mon avis tu vas également avoir un soucis avec ton "\\\\$serveur\\$act" ...

Commande avec ' " et variables

Posté : 26 avr. 2006, 11:45
par Santro
Re
$req = 'logparser "SELECT TimeGenerated, SourceName, EventCategoryName, Message, ComputerName INTO sys.csv FROM \\\\'.$serveur.'\\'.$act.'"';
Marche nickel

voici le resultat =>
logparser "SELECT TimeGenerated, SourceName, EventCategoryName, Message INTO sys.csv FROM \\localhost\system"

le '\\' affiche '\'
i.e.
echo "c:\\windaube";
affichera

Code : Tout sélectionner

c:\windaube
Merci