Problème insertion SQL via PHP

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 : Problème insertion SQL via PHP

par supercanard » 11 oct. 2007, 14:54

Merci

Par contre je suis pas sur de ne pas dire une connerie mais sous mysql 4 (ou 3?) l'UTF8 n'est ps géré il me semble ? Ou ce sont les interclassement pour les champs qui ne le sont pas ?
Je sais plus, enfin il me semble qu'il y a un truc :?

par Berzemus » 11 oct. 2007, 13:53

Pour tester des requêtes sql => coller la requête dans une bdd test dans phpmyadmin, regarder, et bidouiller.
 `nom` varchar CHARACTER SET utf8 COLLATE utf8_bin (25) NOT NULL,
pourquoi le (25) n'est pas à côté de la définition de type du contenu ?

ça c'est juste:
 `nom` varchar(25) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,

par supercanard » 11 oct. 2007, 12:04

Fais toi une classe genre PDO pour préparer tes ordres et tu n'auras plus de problèmes...
Ouip

Sinon j'en rajoute une couche. Maintenant que je veut faire la même chose en spécifiant les interclassement les tables ne sont plus créées :
$req= mysql_query("CREATE TABLE if not exists bloom_pages2 (
`id` int(11) NOT NULL auto_increment,
  `nom` varchar CHARACTER SET utf8 COLLATE utf8_bin (25) NOT NULL,
  `contenu` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `nom_lien` varchar CHARACTER SET utf8 COLLATE utf8_bin (50) NOT NULL,
  `pos_lien` int(11) NOT NULL,
  `visible` int(1) NOT NULL,
  PRIMARY KEY  (`id`)
)ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci");

par Tracker » 11 oct. 2007, 11:02

Fais toi une classe genre PDO pour préparer tes ordres et tu n'auras plus de problèmes...

par supercanard » 11 oct. 2007, 10:58

Le bout de chaine
... d'accueil ...
ferme ta chaine... :(

Echappe tes paramètres.
Bon je me permet un gros mot :

MERDEUUUUUH j'en ai marre de faire des erreurs d'inattention !
je le sais en plus qu'il faut mettre un anti slash mais j'avais pas vu :D

par Berzemus » 11 oct. 2007, 10:57

Ouaip.

Sinon, tu avé d'abord essayé une insertion manuelle dans phpmyadmin ? on y voit de suite plus clair.

par Tracker » 11 oct. 2007, 10:54

Le bout de texte
[quote]... d'accueil ...[quote]
ferme ta chaine... :(

Echappe tes paramètres.

[edit]
En plus tu inseres encore une fois un paramètre auto-incrementé, je ne suis vraiment pas sûr que l'idée soit terrible...

Problème insertion SQL via PHP

par supercanard » 11 oct. 2007, 10:50

Bonjour,

Depuis hier je suis sur une foutu requete d'insertion qui veut pas m'inserer mes données grrrrrrrrr :x

Alors la table est bien créée, mais l'insert, quenini :
$req= mysql_query("CREATE TABLE if not exists bloom_pages2 (
`id` int(11) NOT NULL auto_increment,
  `nom` varchar(25) NOT NULL,
  `contenu` text NOT NULL,
  `nom_lien` varchar(50) NOT NULL,
  `pos_lien` int(11) NOT NULL,
  `visible` int(1) NOT NULL,
  PRIMARY KEY  (`id`)
)");

$req= mysql_query("INSERT INTO bloom_pages2 (id,nom,contenu,nom_lien,pos_lien,visible) VALUES ('','index','<h1>Bienvenue sur votre BloOm CMS !</h1><p>Ceci est votre page d'accueil. Connectez-vous pour administrer BloOm CMS !.</p>','Accueil','0','1')");
Si vous voyez le problème... ? moi je m'arrache les cheveux là :?