Warning: mysql_real_escape_string(): Accès refusé pour l'utilisateur "@'localhost' (using password: NO)
Quand utiliser le code suivant sans mysql_real_escape_string, fonctionne très bien. J'ai simplement essayé de saisir une chaîne de texte qui peut avoir apost. à partir d'un formulaire de saisie et de format pour mettre dans une table mysql.
<?php
$filenamee = $_FILES["file"]["name"];
$filename =strval($filenamee);
echo "file name is".$filename;
$con=mysqli_connect("localhost","blasbott_admin","lubu1973","blasbott_upload");
//Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$companyName = mysql_real_escape_string($_POST['companyName']);
//$companyName = mysql_real_escape_string($companyNamee);
//$companyName = mysql_real_escape_string($companyNamee);
$sql="INSERT INTO ads (companyName, webSite, picture)
VALUES ('$companyName','$_POST[webSite]','$filename')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo"<br>";
echo "1 record added";
mysqli_close($con);
?>
Je vois ce type de question tout le temps, vous devriez lire base de données commune de débogage pour PHP et MySQL.
Sont ceux de votre connexion de base de données de détails?
Au lieu de s'en échapper, le $_POST données avez-vous pensé à utiliser les requêtes préparées ? Vous essayez d'échapper à la société mais alors vous êtes directement l'Affichage['site'] dans votre requête.
pas de valeurs réelles; juste dupant local jusqu'à ce que je construis quelque chose réelle. Je vais jeter un oeil à préparé relevés. Je ne connais pas trop, mais quelqu'un m'a mis en garde à propos de mysql injections. Merci pour votre aide; j'aime les gens d'ici.
Merci Jason, je n'ai lu quelques posts sur ce premier. C'était un novice erreur de mélange mysqli_real_escape_string avec mysql_real_escape_string Toutefois im heureux je l'ai fait et appris à propos de mysql injections, et de la côte sud web de m'entrainer pour préparer des relevés thx sud
Sont ceux de votre connexion de base de données de détails?
Au lieu de s'en échapper, le $_POST données avez-vous pensé à utiliser les requêtes préparées ? Vous essayez d'échapper à la société mais alors vous êtes directement l'Affichage['site'] dans votre requête.
pas de valeurs réelles; juste dupant local jusqu'à ce que je construis quelque chose réelle. Je vais jeter un oeil à préparé relevés. Je ne connais pas trop, mais quelqu'un m'a mis en garde à propos de mysql injections. Merci pour votre aide; j'aime les gens d'ici.
Merci Jason, je n'ai lu quelques posts sur ce premier. C'était un novice erreur de mélange mysqli_real_escape_string avec mysql_real_escape_string Toutefois im heureux je l'ai fait et appris à propos de mysql injections, et de la côte sud web de m'entrainer pour préparer des relevés thx sud
OriginalL'auteur Dennis1973 | 2013-07-25
Vous devez vous connecter pour publier un commentaire.
Vous êtes à risque de MySQL injections. Ne jamais insérer les données directement à une base de données sans une sorte de projection de la première. C'est un risque de sécurité majeur. Également utiliser mysqli_real_escape_string au lieu de cela, et de constater que votre $_POST[site web] est non protégé.
Aussi, votre erreur signifie que votre base de données de coordonnées ne sont pas correctes.
Merci pour accueillir les personnes à des risques de sécurité à mon attention. mysqli_real_escape_string résolu le problème, mais je ne savais pas à propos de mysql injections; merci.
mysqli_real_escape_string
était le correctif pour moi. Ne le savais pas, j'ai eu à utiliser que quand je l'utilise mysqli. Sens bien que depuis qu'il utilise la connexion que vous avez ouvert.OriginalL'auteur Adrian.S
Non, vous ne devriez pas mélanger mysql et mysqli.
Utiliser ici au lieu de
mysql_real_escape_string($var)
:OriginalL'auteur bwoebi
De travail exemple de code qui est une solution à ce problème est disponible ici:
http://www.w3schools.com/php/func_mysqli_real_escape_string.asp
J'ai eu le problème et suis tombé sur ce thread donc décidé de le laisser là pour que les gens qui viennent ici après moi alors que googler la même chose. L'âge est plus ou moins pertinent pour certaines questions, et les réponses ici ne permet pas de résoudre le problème d'une manière qui soit compréhensible pour moi. L'exemple que j'ai lié est beaucoup plus évidente et explicite de la solution.
OriginalL'auteur Maija Vilkina
Essayer
mysqli_real_escape_string
à la place.OriginalL'auteur ygesher
Vous devez vous connecter avec la base de données avant d'utiliser Warning: mysql_real_escape_string()
OriginalL'auteur frozenfire