Problème PHP/MySQL : concaténation
Résolu
polarbird
Messages postés
125
Statut
Membre
-
polarbird Messages postés 125 Statut Membre -
polarbird Messages postés 125 Statut Membre -
Bonjour,
J'ai un problème de concaténation voici mon code :
edit_tuto_ok.php
Quand j'exécute ce code depuis ce formulaire
edit_tuto.php
j'obtiens ce message de la part de MySQL :
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'update = '..',vues = '.0.' WHERE id = '.2.'' at line 1
Merci de m'aider car vraiment je m'arrache les cheveux !
Cordialement,
polarbird
J'ai un problème de concaténation voici mon code :
edit_tuto_ok.php
<html>
<head>
<link href="../style.css" rel="stylesheet" title="Style" />
<title>Panel d'administration - Modifier tuto</title>
</head>
<body>
<h1>Modifier tuto</h1>
<?php
//connection au serveur
$cnx = mysql_connect( "", "", "" ) ;
$db = mysql_select_db( "" ) ;
//sélection de la base de données:
$id = $_POST["id"];
$titre=$_POST["titre"];
$auteur=$_POST["auteur"];
$niveau=$_POST["niveau"];
$barre=$_POST["barre"];
$tuto=$_POST["tuto"];
$timestamp=$_POST["timestamp"];
$update=$_POST["update"];
$vues=$_POST["vues"];
$datasql = "UPDATE tuto SET id = '.$id.',titre = '.$titre.',auteur = '.$auteur.',niveau = '.$niveau.',barre = '.$barre.',tuto = '.$tuto.',timestamp = '.$timestamp.',update = '.$update.',vues = '.$vues.' WHERE id = '.$id.' " ;
$requete = mysql_query($datasql, $cnx) or die( mysql_error() ) ;
if($requete)
{
echo("<p>La modif est faite</p>") ;
}
else
{
echo("La modification à échouée") ;
}
?>
</body>
</html>
Quand j'exécute ce code depuis ce formulaire
edit_tuto.php
<html>
<head>
<link href="../style.css" rel="stylesheet" title="Style" />
<title>Panel d'administration - Modifier tuto</title>
<script language="javascript" type="text/javascript">
function insert_texte(texte)
{
//Emplacement
var ou = document.getElementsByName("tuto")[0];
//Texte à insérer + espace
var phrase = texte +"";
//Contenu déjà présent + Texte à insérer
ou.value += phrase;
//Positionnement du curseur
}
</script>
<script language="javascript" type="text/javascript">
function bascule(elem)
{
etat=document.getElementById(elem).style.display;
if(etat=="none"){
document.getElementById(elem).style.display="block";
}
else{
document.getElementById(elem).style.display="none";
}
}
</script>
</head>
<body>
<?php
$cnx = mysql_connect( "", "", "" ) ;
$db = mysql_select_db( "" ) ;
$id = $_GET["id"] ;
$sql = "SELECT * FROM tuto WHERE id = ".$id ;
$requete = mysql_query( $sql, $cnx ) ;
if($result = mysql_fetch_object($requete))
{
?>
<form action="edit_tuto_ok.php" method="post">
<input type="hidden" name="id" value="<?php echo($id) ;?>">
<input type="text" placeholder="Titre" name="titre" size="20" value="<?php echo($result->titre) ;?>"/><br />
<input type="text" placeholder="Auteur" name="auteur" size="20" value="<?php echo($result->auteur) ;?>" /><br />
<select name="niveau">
<option value="<?php echo($result->niveau) ;?>" selected><?php echo($result->niveau) ;?></option>
<option value="Facile">Facile</option>
<option value="Moyen">Moyen</option>
<option value="Difficile">Difficile</option>
</select><br />
<input type="text" value="<?php echo time(); ?>" name="update" size="20" readonly />
<input type="text" value="<?php echo($result->vues); ?>" name="vues" size="20" readonly /><br />
<input type="hidden" name="timestamp" value="<?php echo($result->timestamp); ?>">
<input type="range" name="barre" value="<?php echo($result->barre) ;?>" min="33.3" max="100" step="33.3" /><br />
<div style="border:1px solid white;width:200px;">
<a href="#" onclick="bascule('div1');return false;">Pratique</a>
<div id='div1' style='display:none;font-size:12px;font-family:arial;color:white;'>
<a href="#" onclick="insert_texte('<a href= target= ></a>')">URL</a> <a href="#" onclick="insert_texte('<br>')">Saut de ligne</a> <a href="#" onclick="insert_texte('<br />')">Alinea</a> <a href="#" onclick="inser_texte('<img src= title= ')">Image</a>
</div></div>
<div style="border:1px solid white;width:200px;">
<a href="#" onclick="bascule('div2');return false;">Polskie litery</a>
<div id='div2' style='display:none;font-size:12px;font-family:arial;color:white;'>
<a href="#" onclick="insert_texte('ą')">ą</a> <a href="#" onclick="insert_texte('ę')">ę</a> <a href="#" onclick="insert_texte('ó')">ó</a> <a href="#" onclick="insert_texte('ć')">ć</a> <a href="#" onclick="insert_texte('ł')">ł</a> <a href="#" onclick="insert_texte('ń')">ń</a> <a href="#" onclick="insert_texte('ś')">ś</a> <a href="#" onclick="insert_texte('ź')">ź</a> <a href="#" onclick="insert_texte('ż')">ż</a> <a href="#" onclick="insert_texte('Ą')">Ą</a> <a href="#" onclick="insert_texte('Ę')">Ę</a> <a href="#" onclick="insert_texte('Ó')">Ó</a> <a href="#" onclick="insert_texte('Ć')">Ć</a> <a href="#" onclick="insert_texte('Ł')">Ł</a> <a href="#" onclick="insert_texte('Ń')">Ń</a> <a href="#" onclick="insert_texte('Ś')">Ś</a> <a href="#" onclick="insert_texte('Ź')">Ź</a> <a href="#" onclick="insert_texte('Ż')">Ż</a>
</div></div>
<div style="border:1px solid white;width:200px;">
<a href="#" onclick="bascule('div3');return false;">Accents</a>
<div id='div3' style='display:none;font-size:12px;font-family:arial;color:white;'>
<a href="#" onclick="insert_texte('é')">é</a> <a href="#" onclick="insert_texte('É')">É</a> <a href="#" onclick="insert_texte('ç')">ç</a>
</div></div>
<textarea name="tuto" rows="30" cols="60" placeholder="Tuto" style="font-family:arial;font-size:12px;color:black;"><?php echo($result->tuto) ;?></textarea><br />
<input type="reset" value="Effacer"/>
<input type="submit" value="Valider"/>
</form>
<?php
}
?>
</body>
</html>
j'obtiens ce message de la part de MySQL :
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'update = '..',vues = '.0.' WHERE id = '.2.'' at line 1
Merci de m'aider car vraiment je m'arrache les cheveux !
Cordialement,
polarbird
A voir également:
- Problème PHP/MySQL : concaténation
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Php alert - Forum PHP
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
2 réponses
la requête Mysql doit être comme ça :
on ne met pas de point (concaténation) parce que tu utilise des apostrophe et nom des guillemets ,
voici un exemple de l'utilisation de concaténation :
Dans le cas suivant on ne met pas de point de concaténation :
$datasql = "UPDATE tuto SET id = '$id',titre = '$titre',auteur = '$auteur',niveau = '$niveau',barre = '$barre',tuto = '$tuto',timestamp = '$timestamp',update = '$update',vues = '$vues' WHERE id = '$id' " ;
on ne met pas de point (concaténation) parce que tu utilise des apostrophe et nom des guillemets ,
voici un exemple de l'utilisation de concaténation :
$variable = "text = ".$text;
Dans le cas suivant on ne met pas de point de concaténation :
$variable = "text='$text' , valeur='$valeur' ..";