problème d'insertion

problème d'insertion - PHP - Programmation

Marsh Posté le 26-04-2006 à 15:57:15    

Je n'arrive pas à ajouter un champ ds une table à partir d'une requète
mon script :
$sql1="SELECT cle from urs where region=`$_GET[region]`";
$res1 = dbquery($sql1);
 
 
$sql = "INSERT INTO correspondance(nom_nms,cle_region) VALUES(";
$sql .= "`$_GET[nom]`,";  
$sql .= $res1;
$sql .= " )" ;
 
 
dbquery($sql);
 
quand je fais un echo $sql ca m'insert bien le premier champ mais pas le deuxième
qqu 'un peu m'aider??

Reply

Marsh Posté le 26-04-2006 à 15:57:15   

Reply

Marsh Posté le 26-04-2006 à 16:04:53    

1 - dbquery() c'est quoi ? :heink:
ce n'est pas une fonction native de PHP et il serait bon de poster sa déclaration :o
 
2 -evite d'ecrire tes requetes en utilisant ce modele :

Code :
  1. $animal = 'chien' ;
  2. $phrase  = "Mon animal est un $animal marron et noir";


Fais plutot :

Code :
  1. $animal = 'chien' ;
  2. $phrase  = "Mon animal est un ".$animal." marron et noir";


 
Enfin une bonne méthode : lors de l'execution de ta requete, précise le mysql_error();

Code :
  1. $sql1="SELECT cle from urs where region='".$_GET[region]."'";
  2. $ExeSQL1 = mysql_query($sql1) or die (mysql_error()) ;


 
Dernier point, utilise tes apostrophes ou les guillement en caractere d'echapement de tes requetes plutot que ``
J'ai eu pas mal de soucis avec.

Reply

Marsh Posté le 26-04-2006 à 16:06:10    

si c'est le même dbquery que dans ton autre post ( d'ailleurs bonjour le jeu de piste), dbquery retourne un tableau donc il y a peu de chance que tu puisses t'en servir ainsi...

Reply

Marsh Posté le 26-04-2006 à 16:09:06    

oui c'est le meme

Reply

Marsh Posté le 26-04-2006 à 16:10:14    

essayer de debuger comme je te l'ai suggéré

Reply

Marsh Posté le 26-04-2006 à 16:18:04    

raph1431 a écrit :

oui c'est le meme


Pour the_bigboo > http://forum.hardware.fr/hardwaref [...] m#t1354440  

the_bigboo a écrit :

essayer de debuger comme je te l'ai suggéré


alors c'est pas la peine qu'il essaye de débugger ...
refais un var_export de $res1 et dis nous ce qu'il y a dedans ... au pif je parie false!

Reply

Marsh Posté le 26-04-2006 à 16:20:02    

non c'est pas false il m'affiche bien la valeur que je veu
 
array ( 0 => array ( 0 => '1', 'cle' => '1', ), )

Reply

Marsh Posté le 26-04-2006 à 16:21:38    

donc c'est un tableau ... et comment on récupère la valeur d'un tableau?
 

Spoiler :

boulay spotted :o

Reply

Marsh Posté le 26-04-2006 à 16:22:21    

comment j peux faire pour lui indiquer de rajouter le champ du résultat de ma requète $sql1?

Reply

Marsh Posté le 26-04-2006 à 16:23:37    

avec un foreach

Reply

Marsh Posté le 26-04-2006 à 16:23:37   

Reply

Marsh Posté le 26-04-2006 à 16:23:53    

ou un implode non?

Reply

Marsh Posté le 26-04-2006 à 16:30:52    

plus simple avec implode

Reply

Marsh Posté le 26-04-2006 à 16:36:12    

ca me soul j'ai encore une erreur  
Notice: Use of undefined constant region - assumed 'region' in c:\program files\easyphp1-7\www\appli_parc\ajoutnms.php on line 17
 
pourtant le echo $sql1 m'affiche bien les champs que je rentre

Reply

Marsh Posté le 26-04-2006 à 16:40:37    

tu as oublié un "$"
 
edit : devant ta variable region

Message cité 1 fois
Message édité par the_bigboo le 26-04-2006 à 16:41:04
Reply

Marsh Posté le 26-04-2006 à 16:43:08    

the_bigboo a écrit :

tu as oublié un "$"
 
edit : devant ta variable region


je voterais plutot des quotes ici:

Code :
  1. $_GET['region']

Reply

Marsh Posté le 26-04-2006 à 16:45:17    

avec les quotes ca marche et sans aussi :)
 
Et si tu lis bien, l'erreur dis qu'il s'agit d'une constante non déclarée, cad une variable qui serais déclarée par define()

Reply

Marsh Posté le 26-04-2006 à 16:46:18    

y a pas besoin de $ vu que region est un champ de ma table
 
$sql1="SELECT cle from urs WHERE region='". $region ."'";

Reply

Marsh Posté le 26-04-2006 à 16:47:38    

pardon c'est ca :  
$sql1="SELECT cle from urs WHERE region='". $_GET[region] ."'";

Reply

Marsh Posté le 26-04-2006 à 16:51:11    

attention, l'erreur que tu as est une erreur PHP, pas une erreur SQL, elle ne concerne évidemment pas ta requete. La ligne que tu as posté est cette fameuse ligne 17 qui pose probleme ? Si c'est le cas, effectivement tu dois utiliser des quotes, car "region" est pour php une constante et non une string


Message édité par the_bigboo le 26-04-2006 à 16:51:53
Reply

Marsh Posté le 26-04-2006 à 16:54:58    

c'est ce que j'ai fait maintenant il n'y a plus d'erreur mais ca ne mecrèe tjrs pas la table voila mon echo $sql:
 
INSERT INTO correspondance(nom_nms,cle_region) VALUES(`test78`,2)

Reply

Marsh Posté le 26-04-2006 à 16:55:49    

ca ne me rajoute tjrs pas mes donnée plutot

Reply

Marsh Posté le 26-04-2006 à 17:03:23    

c'est bon ca marche c'etait juste une histoire de cote jte remercie

Reply

Marsh Posté le 26-04-2006 à 17:04:15    

:sweat:  
faut que tu l'executes ta requete maintenant!!!
 
edit: on comprendra que j'avais pu en douter avant de me faire grilled


Message édité par anapajari le 26-04-2006 à 17:05:26
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed