Apostrophe, php et 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 : Apostrophe, php et mysql

par Ajoloca » 24 déc. 2006, 13:12

Bonjour,
et comme ceci?
echo '<td valign="top"><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="center">'. stripcslashes(mysql_result($res, $i, "THEMES")).'</font></td>'; 

par cmoi » 24 déc. 2006, 11:43

avec quelque chose comme ça
echo '<td valign="top"><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="center">'.mysql_result($res, $i, "THEMES").'</font></td>';

par cmoi » 24 déc. 2006, 11:41

avec quelque chose comme ça
echo '<td valign="top"><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="center">'.mysql_result($res, $i, "THEMES").'</font></td>';

par Ajoloca » 23 déc. 2006, 23:30

Pas si près du but !

Montre commet tu récupères et affiches les données.

par cmoi » 23 déc. 2006, 22:02

effectivement la page.php modifie ma base mysql. Mais l'enjeu n'était pas là. Et de toute façon le résultat est le même. Plus rien ne s'affiche !
Je renonce à cette apostrophe. Tant pis. Merci d'avoir essayé.

par Ajoloca » 23 déc. 2006, 20:14

Tu le sauvegardes sous nom quelconque .php
Exp. organismes.php
Avec un client FTP tu le déposes dans ton site.
Tu le lances via ton navigateur http://....../organismes.php

par cmoi » 23 déc. 2006, 19:49

merci pour ce script mais je l'utilise comment ? A la place de la balise de connexion ?

par Ajoloca » 23 déc. 2006, 15:01

Voilà un script PHP qui devrait te permettre de faire ce que tu veux.
Tu devras compléter les les variables $server, $sqlUser, $passWord et $dbName.
<?php
	$server = '';
	$sqlUser = '';
	$passWord = '';
	$dbName = '';
	$cnx = mysql_connect($server, $sqlUser, $passWord) || die('Impossible de se connecter au serveur<br />' . mysql_error());
	$db = mysql_select_db($dbName) || die('Connexion &agrave; la base '.$dbName.' Impossible<br />'.mysql_error());
	$tabSet = Array("Achat - Approvisionnement", "Agro-alimentaire - Agriculture", 
			"Artisanat", "Assurance - Banque", "Audiovisuel - Média", "Automobile - Aéronautique", 
			"Bilan de Compétences - VAE", "BTP - Architecture", "Bureautique - Internet", 
			"Collectivités - Secteur public", "Commercial - Marketing - Vente", "Communication", 
			"Comptabilité - Gestion - Finance - Paie", "Conflits - Violences - Malveillance", 
			"Culture - Esthétique - Mode", "Développement personnel - Coaching", 
			"Droit - Fiscalité - Economie", "Edition - Imprimerie - Presse", "Environnement", 
			"Formation - Enseignement - Pédagogie", "Gestion de Projet", "Grande Distribution - Commerce", 
			"Hôtellerie - Restauration - Tourisme", "Immobilier", "Informatique - Système d'information", 
			"Interculturel - Expatriation", "Langues", "Management - Direction", "Mathématique - Statistique", 
			"Multimedia- Infographie - Dessin technique", "Physique - Chimie - Biologie", 
			"Préparation aux concours", "Qualité - Organisation", "Ressources humaines-Personnel", 
			"Santé - Social", "Secrétariat - Accueil - Assistance", "SécuritéPrévention - Ergonomie", 
			"Sport - Loisirs - Animation", "Techniques industrielles", "Télécommunication", "Transport" );
	$alterQry = "ALTER TABLE `organismes` CHANGE `THEMES` `THEMES` SET(";
	$nbrValeurs = count($tabSet);
	for($i = 0; $i < $nbrValeurs; $i++){
		if($i == $nbrValeurs - 1) $alterQry .= sprintf("'%s')", mysql_real_escape_string($tabSet[$i]));
		else $alterQry .= sprintf("'%s', ", mysql_real_escape_string($tabSet[$i]));
	}
	$res = mysql_query($alterQry) || die ('ERR_SQL :<br />' . $alterQry . '<br />' . mysql_error());
	mysql_close($cnx);
?>

par cmoi » 23 déc. 2006, 14:42

excuse-moi mais je ne comprends pas la question.
j'utilise phpmyadmin qui est sur le serveur de Free.

par Ajoloca » 23 déc. 2006, 14:32

As-tu accès au serveur MySQL via le client mysql ?

par cmoi » 23 déc. 2006, 14:29

Même problème
"Informatique - Système d'information" est transformé en
'Informatique - Système d\'information'

Et il n'y a plus moyen de sélectionner ce choix. Ou plutôt, je sélectionne et je fais exécuter. Mais si je vérifie dans Afficher, le choix n'est pas pris.

par Ajoloca » 23 déc. 2006, 14:06

Ok,

Dans ce cas utilise les guillemets

Code : Tout sélectionner

"Système d'information"

par cmoi » 23 déc. 2006, 13:59

ALTER TABLE `organismes` CHANGE `THEMES` `THEMES` SET( 'Achat - Approvisionnement', 'Agro-alimentaire - Agriculture', 'Artisanat', 'Assurance - Banque', 'Audiovisuel - Média', 'Automobile - Aéronautique', 'Bilan de Compétences - VAE', 'BTP - Architecture', 'Bureautique - Internet', 'Collectivités - Secteur public', 'Commercial - Marketing - Vente', 'Communication', 'Comptabilité - Gestion - Finance - Paie', 'Conflits - Violences - Malveillance', 'Culture - Esthétique - Mode', 'Développement personnel - Coaching', 'Droit - Fiscalité - Economie', 'Edition - Imprimerie - Presse', 'Environnement', 'Formation - Enseignement - Pédagogie', 'Gestion de Projet', 'Grande Distribution - Commerce', 'Hôtellerie - Restauration - Tourisme', 'Immobilier', 'Informatique - Système d information', 'Interculturel - Expatriation', 'Langues', 'Management - Direction', 'Mathématique - Statistique', 'Multimedia- Infographie - Dessin technique', 'Physique - Chimie - Biologie', 'Préparation aux concours', 'Qualité - Organisation', 'Ressources humaines-Personnel', 'Santé - Social', 'Secrétariat - Accueil - Assistance', 'SécuritéPrévention - Ergonomie', 'Sport - Loisirs - Animation', 'Techniques industrielles', 'Télécommunication', 'Transport' ) NOT NULL 
Voilà à quoi je suis revenu pour que ça fonctionne. 'Informatique - Système d information'
Dans ce cas, je peux sélectionner ce choix et il s'affiche sur internet.
En l'écrivant avec un \' ou '', le choix n'est pas pris en compte et donc ne s'affiche pas.

par Ajoloca » 23 déc. 2006, 13:57

A priori, tu ne sais jamais ce que l'utilisateur va saisir.
Cette méthode fonctione dans tous les cas.
Avec les apostrophes, les \n, \r, .....

par cmoi » 23 déc. 2006, 13:52

le problème est que la méthode phpmyadmin ('') ne fonctionne pas. Pourquoi je sais pas mais ca ne marche pas.

la méthode php ne va fonctionner que pour 1 critère. Si j'ai une apostrophe par ailleurs, il faudra modifier le code.