par
Cyrano » 18 sept. 2005, 11:29
La solution proposée par Reiji est syntaxiquement invalide. La forme d'une requête d'insertion en SQL est :
Code : Tout sélectionner
INSERT INTO nom_table [(champ_1[, champ_2,.. champ_n])] VALUES ('valeur_1'[, valeur_2.. valeur_n]);
Si on ne précise pas le nom des champs après le nom de la table, la requête d'insertion concernera
TOUS les champs, il faudra donc qu'il y ait autant de valeur de que colonne dansla table. On peut cependant préciser seuoement les champs où on veut insérer une valeur. Pour la clé primaire, s'il s'agit d'un champ de type INT auto_increment, on a pas l'obligation de le préciser dans le second cas, le SGBD se chargeant de le remplir lui-même.
Donc
Visiteur, la requête que tu as incrite est syntaxiquement valide. Coté programmation PHP, il manque un détail ou deux, mais ils sont facultatifs. Voici une proposition à tester:
<?php
/* On se connecte au serveu de base de données */
$connexion = mysql_connect("localhost", "root", "");
/* On sélectionne la base de données */
mysql_select_db("rep",$connexion);
/* On crée la requête SQL */
$sql = "INSERT INTO repo VALUES('', '". $topic ."', '". $pse ."', '". $mes ."', '". $em ."')";
/* On exécute la requête SQL */
mysql_query($sql, $connexion) or die("<h3>Une erreur s'est produite : ". mysql_error($connexion) ."</h3>\n");
/* On ferme la connexion */
mysql_close($connexion);
?>
La solution proposée par Reiji est syntaxiquement invalide. La forme d'une requête d'insertion en SQL est :
[code]INSERT INTO nom_table [(champ_1[, champ_2,.. champ_n])] VALUES ('valeur_1'[, valeur_2.. valeur_n]); [/code]
Si on ne précise pas le nom des champs après le nom de la table, la requête d'insertion concernera [u]TOUS[/u] les champs, il faudra donc qu'il y ait autant de valeur de que colonne dansla table. On peut cependant préciser seuoement les champs où on veut insérer une valeur. Pour la clé primaire, s'il s'agit d'un champ de type INT auto_increment, on a pas l'obligation de le préciser dans le second cas, le SGBD se chargeant de le remplir lui-même.
Donc [b]Visiteur[/b], la requête que tu as incrite est syntaxiquement valide. Coté programmation PHP, il manque un détail ou deux, mais ils sont facultatifs. Voici une proposition à tester:
[php]<?php
/* On se connecte au serveu de base de données */
$connexion = mysql_connect("localhost", "root", "");
/* On sélectionne la base de données */
mysql_select_db("rep",$connexion);
/* On crée la requête SQL */
$sql = "INSERT INTO repo VALUES('', '". $topic ."', '". $pse ."', '". $mes ."', '". $em ."')";
/* On exécute la requête SQL */
mysql_query($sql, $connexion) or die("<h3>Une erreur s'est produite : ". mysql_error($connexion) ."</h3>\n");
/* On ferme la connexion */
mysql_close($connexion);
?>[/php]