PHP & MySQL

hi experts,

Im having the following 2 errors when im trying to use the mysql_real_escape_string() function.

mysql_real_escape_string() [<a href='function.mysql-real-escape-string'>function.mysql-real-escape-string</a>]: Can't connect to MySQL server on 'localhost' (10061) in C:\CustomerData\webspaces\webspace_xxxxxxx\wwwroot\mysite.com\some.php on line 23

Open in new window


 mysql_real_escape_string() [<a href='function.mysql-real-escape-string'>function.mysql-real-escape-string</a>]: A link to the server could not be established in C:\CustomerData\webspaces\webspace_xxxxxxx\wwwroot\mysite.com\some.php on line 23

Open in new window


when im using INSERT INTO without thats function everything is fine.

To connect to the database i use the following code:

mysql_connect("localhost", "my_user", "my_password") or die(mysql_error());
mysql_select_db("my_database") or die(mysql_error());

Open in new window



Any help in this matter will be highly appreciated.
raulmondaAsked:
Who is Participating?
 
Beverley PortlockConnect With a Mentor Commented:
Well this

$name="$_POST[name1]";

should really be

$name=$_POST["name1"];

Similary

$name=mysql_real_escape_string($_POST[name1]);

should really be

$name=mysql_real_escape_string($_POST['name1']);

(note the ' and ' around name1.)

Other than that I doe not see anything really obvious. On your mysql_query that does the INSERT INTO add a DIE clause for testing

$sql="INSERT INTO users (name, lastname, email) VALUES ('$name', '$lastname1', '$email')";
mysql_query( $sql ) or die("Testing error - " . mysql_error() );

Open in new window


What shows up?

0
 
Dave BaldwinConnect With a Mentor Fixer of ProblemsCommented:
You do have to connect to the database before you use mysql_real_escape_string().  It is actually done by the MySQL server.
0
 
raulmondaAuthor Commented:
yes, i connect to the database before i use this function.

actually my code is :

$conn = mysql_connect("localhost", "my_user", "my_password") or die(mysql_error());
if (!$conn)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("my_database", $conn) or die(mysql_error());

$name=mysql_real_escape_string($_POST[name1]);

 $sql="INSERT INTO users (name, lastname, email) VALUES ('$name', '$lastname1', '$email')";

Open in new window



if i replace the line 8 with
 $name="$_POST[name1]";

Open in new window

it works fine.

what i did wrong?
Regards,
Raul
0
 
raulmondaAuthor Commented:
well, thank you both.

My mistake. I used mysql_real_escape_string() BEFORE connecting. Newbie mistake. i just moved the code lines AFTER connecting and it work fine.

Thank you.

Regards,
Raul
0
 
Dave BaldwinFixer of ProblemsCommented:
Cool, glad you got it working.  Thanks for the points.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.