Page 1 sur 1

Problème de php en ligne de commandes (linux)

Posté : 15 févr. 2007, 11:34
par Vikchill
Bonjour,

je souhaiterais lancer un script php en cron une fois par jour. Quand je lance mon script php sur mon navigateur, aucun problème, tout fonctionne comme sur des roulettes, mon script ne serait donc pas la cause du problème. Par contre, quand je lance le script en ligne de commande (je tape 'php reset_db.php'), j'ai une erreur

Code : Tout sélectionner

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/infodb/reset_db.php on line 33
et mon script est inopérant.

Dans le script, j'ai plusieurs 'require' avec à chaque fois le chemin absolu du fichier, car je pensais que c'était la cause de mon problème. Avez-vous une idée pour expliquer mon soucis?

Posté : 15 févr. 2007, 11:47
par Ryle
Et si tu affiches la requête ? que tu testes le résultat de mysql_query() ? la connexion à la base de données ? et éventuellement afficher les valeurs provenant de tes require si tu pense que le problème vient de là... Peut être auras-tu ainsi une piste sur les différences que tu peux avoir entre la ligne de commande et le navigateur ?

Posté : 15 févr. 2007, 11:58
par Ajoloca
Bonjour,
En plus des remarques de Ryle tu devrais lancer ton script avec l'option -f

Code : Tout sélectionner

php -f reset_db.php

Posté : 15 févr. 2007, 12:30
par Vikchill
Je vous remercie de vous être penchés sur mon problème. En suivant vos conseils, j'ai compris mon erreur: sur FF, je lance mon script, certes, mais avec des paramètres passés en GET, lesquels permettent entre autre de selectionner la base de données. Je n'avais donc pas de base de données selectionnée, d'où le message d'erreur. Désormais, tout fonctionne, merci à vous pour m'avoir mis sur la piste!