update dans une base MySQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : update dans une base MySQL

par dhueber » 30 avr. 2006, 12:20

Ok merci, désolé de la question con je devais plus avoir les yeux en face des trucs quand j'ai fait ça.

En tout cas merci d'avoir resp :)

par Truc » 30 avr. 2006, 01:45

Salut,
Tu peux commencer à te demander ce que vient faire "$modif" dans l'histoire et tu comprendras en regardant de plus près le paramètre dans mysql_query().

Ne jamais placer des variables entre apostrophes ou autre guillemets ça n'apporte que des confusions comme celle-la.

Une variable entre apostrophes n'est pas interpètée et donc la fonction mysql reçoie une requete qui correspond à "$modif" et non le contenu de la variable.

En passant au lieu de colorer le code manuellement (pas forcément plus lisible d'ailleurs) utilise les balises
 (bouton au dessus de la zone de saisie).

update dans une base MySQL

par dhueber » 30 avr. 2006, 00:49

Hello tout le monde,
j'ai un petit soucis avec un script php devant servir à mettre à jour des données dans une base MySQL.
J'ai testé la commande SQL dans un client MySQL et ça roule par contre dès que je la lance via un php j'obtient le message suivant :
Erreur SQL !UPDATE courses SET duration=1.0,description="testxxxxxxxx" where name_course="ProScan"
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$modif' at line 1
Et voilà mon code source :
<?php

$name = $_POST['name'];
$time = $_POST['time'];
$desc = $_POST['desc'];

//connexion à la base
	$base = mysql_connect ('127.0.0.1','sofia','VuRnK2Mf');
	mysql_select_db ('sofia',$base);
	
//Insertion du nouveau module de formation
	$modif = 'UPDATE courses SET duration='.$time.',description="'.$desc.'" where name_course="'.$name.'"';
	mysql_query('$modif') or die ('Erreur SQL !'.$modif.'<br />'.mysql_error());
	header ('location: home.php?h=2&l=4&c=1');
	
	mysql_close($base);

?>
Merci d'avance si vous pouvez me donner un petit coup de main.

A++ :)