Addslashes et appostrophes

WRInaute impliqué
Bonjour,

J'aimerais savoir si la seule solution pour enregistrer correctement des textes avec apostrophes dans la bdd est l'utilisation des addslashes.

Exemple:

Code:
$texte : "appostrophe ' ici";

$mysql->query("INSERT INTO ".$mysql->pref."_table VALUES('', '".addslashes($texte)."')");

Merci
 
WRInaute impliqué
bin il y a d'autres solutions mais vu que ça fonctionne je vois pas pourquoi chercher autre chose :?
 
WRInaute impliqué
Dans mon cas je vois pas trop comment je peux la protéger.

Pour ma connection sql je procède ainsi :

Connexion.php

Code:
class mysql
{

	var      $host    =    "mysql.site.org"; // Serveur SQL
	var      $user    =    "login";              // Login pour le serveur SQL
	var      $pass    =    "pass";           // Mot de passe pour le serveur SQL
	var      $bdd     =    "nom";          // Nom de votre Base De Données

	function connect()
	{
		@mysql_connect($this->host,$this->user,$this->pass) or die("Erreur de connexion au serveur SQL");
		@mysql_select_db($this->bdd) or die("Impossible de se connecter à la base de données");

		$this->host = "";$this->user = "";$this->pass = "";

	}

	function query($query)

		$mysql = mysql_query($query);
		
		return($mysql);
	}

}


Page.php

Code:
include("connexion.php");
	$mysql = new mysql();
	$mysql->connect();

$texte : "appostrophe ' ici";

$mysql->query("INSERT INTO ".$mysql->pref."_table VALUES('', '$texte')");

De quelle mannière je peux protéger mes requetes ?
 
WRInaute accro
En "protégeant" toutes les variables utilisées dans les ordres qui sont générées à partir de données que tu ne maîtrise pas à coup sûr (données de formulaires, d'url,etc). Tu peux notamment utiliser mysql_real_escape_string() pour ça.
 
WRInaute passionné
RiPSO a dit:
mais sinon je vois pas en quoi ca fait de l'injection si tous les apostrophes sont bien remplacés.. :?

Remplacer les apostrophes ne suffit pas à se protéger des injections car il existe d'autres techniques avec des caractères en hexadécimal.
 
Haut