OVH Cloud OVH Cloud

Pb d'acces a une bdd mysql

1 réponse
Avatar
jp.witz
pour me connecter à un bdd,j'utilise la syntaxe suivante:

$o = mysql_connect($host,$user,$pass) or die( "Impossible de se connecter à
la base de données");
$res= mysql_select_db($bdd,$o);
$id = mysql_query ($sql, $o);

En général, ça marche... mais il m'arrive d'avoir le message suivant:
Warning: Supplied argument is not a valid MySQL result resource in
/var/www/html/script.php on line 417

EN ligne 417, il y a $id = mysql_query ($sql, $o);
Pourtant ma syntaxe $sql est correcte: je l'essaie avec phpmyAdmin et cela
me rend le résultat escompté.
Dans mon exemple, faut-il bien mettre $o comme 2° parametre de mysql_query?
Ou faut-il mettre $res?
Dans tous mes scripts, j'utilise la syntaxe ci-dessus. Cela marche
pratiquement toujours.NB: c'est le "pratiquement" qui m'énerve.
A quoi sert alors mysql_select_db?
D'après la doc, php utilise ces commande avec les paramètres par défaut. Je
pense que c'est là que se situe le pb.
Comment définir tous les paramètres avant d'utiliser mysql_query ?

Merci

JP

1 réponse

Avatar
P'tit Marcel
$o = mysql_connect($host,$user,$pass) or die( "Impossible de se connecter à
la base de données");
$res= mysql_select_db($bdd,$o);
$id = mysql_query ($sql, $o);

En général, ça marche... mais il m'arrive d'avoir le message suivant:
Warning: Supplied argument is not a valid MySQL result resource in
/var/www/html/script.php on line 417
EN ligne 417, il y a $id = mysql_query ($sql, $o);
Pourtant ma syntaxe $sql est correcte: je l'essaie avec phpmyAdmin et cela
me rend le résultat escompté.


si l'erreur est sur cette ligne, ce n'est pas la commande sql qui est en
cause. Ce serait plutot le lien $o.

Avant le mysql_query, tu devrais vérifier que la commande précédente a
réussie :
if (!$res) die("impossible d'accéder à la base");


Dans mon exemple, faut-il bien mettre $o comme 2° parametre de mysql_query?


le plus simple : ne rien mettre


Ou faut-il mettre $res?


ROTFM

A quoi sert alors mysql_select_db?


ROTFM

D'après la doc, php utilise ces commande avec les paramètres par défaut. Je
pense que c'est là que se situe le pb.


non.


Comment définir tous les paramètres avant d'utiliser mysql_query ?


les seuls paramètres nécessaires sont le user, le pass et le nom de la
base de données.



Merci


derein :-)