Erreur sur une requete SQL

Répondre
gesualda
le 25/04/2005 à 14:36
gesualda
Bonjour a tous

Voila mon bout de code:
<?php
$npassc = md5($npassc);
$change = "UPDATE recherche SET mdp='$npassc' WHERE id='$id' ";
$enregistre = mysql_query($change, $beh) or die('Erreur SQL !'.$enregistre.''.mysql_error());
?>


Et voila l'erreur qu'il me génère et que j'arrive pas à trouver.

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in F:\an\page\profil.php on line 122
Erreur SQL !


J'aimerai si c'est possible avoir une explication sur cette erreur et éventuellement comment la régler..

Merci pour votre aide
Bzh
le 25/04/2005 à 14:49
Bzh
Pour commencer, se serait bien que tu revois les différences entre simple guillement et double guillement !!!

Donc :

<?php
$npassc = md5($npassc);
$change = 'UPDATE recherche SET mdp="'.$npassc.'" WHERE id="'.$id.'" ';
$enregistre = mysql_query($change, $beh) or die('Erreur SQL !'.$enregistre.''.mysql_error());

?>


ou

<?php
$npassc = md5($npassc);
$change = "UPDATE recherche SET mdp=\"$npassc\" WHERE id=\"$id\"";
$enregistre = mysql_query($change, $beh) or die('Erreur SQL !'.$enregistre.''.mysql_error());

?>


Je te coneil la première solution afin de profiter des magics quottes et donc être un peut plus protêgé des injections de SQL...

Ensuite, l' erreur te dit "supplied argument is not a valid" ce qui veut dire que l' argument passé n' est pas correct !!!!

En effet, mysql_query() ne demande qu' un seul argument !!!

Donc =>
<?php
$npassc = md5($npassc);
$change = 'UPDATE recherche SET mdp="'.$npassc.'" WHERE id="'.$id.'" ';
$enregistre = mysql_query($change) or die('Erreur SQL !'.$enregistre.''.mysql_error());

?>



Voila, cela devrait être mieu...

Bye...
gesualda
le 25/04/2005 à 15:40
gesualda
Bonjour BzH

Merci de ta réponse, je vais prendre note de tes conseils car je ne connaissais pas non plus la différence entre les guillemets.(très interressant pour moi).

Mais j'ai trouvé pour mon erreur.
En fait c'est tout bête. j'avais oublié d'inclure mon chemin de connexion à la base.(j'ai honte)

Par contre j'ai une autre petite question dans le meme registre.

Si je veux modifier plusieurs colone dans la base faut-il proceder comme cela:
<?php
$npassc = md5($npassc);
$change = 'UPDATE recherche SET mdp="'.$npassc.'" AND email="'.email.'" AND nom="'.nom.'" WHERE id="'.$id.'" ';
$enregistre = mysql_query($change) or die('Erreur SQL !'.$enregistre.''.mysql_error());
?>


ou bien y t-il un autre moyen ?
Bzh
le 25/04/2005 à 16:08
Bzh
<?php
// on se connecte à notre base
$base = mysql_connect ('serveur', 'login', 'pass');
mysql_select_db ('ma_base', $base) ;
?>
<html>
<head>
<title>Modification du tél et de l'adresse de Benoît</title>
</head>
<body>
<?
// lancement de la requête
$sql ='UPDATE liste_proprietaire SET adresse="3, rue des tulipes", age="65" WHERE nom="Benoît"';

// on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die)
mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());

// on ferme la connexion à la base
mysql_close();
?>
L'adresse et l'age de Benoît viennent d'être modifiés.
</body>
</html>


Merci Laglobule pour ses cours !!!!

Voici le lien de son cours

Il ne faut pas mettre AND mais les séparer par des virgules...

Voili voilou...

Ciao...
gesualda
le 25/04/2005 à 16:17
gesualda
Merci beaucoup, je vais allé voir les cours, mais deja la, c'est un bon début.

Merci encore et bonne après midi
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours