• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 268
  • Last Modified:

MySQL query is getting denied

My query is not being successfully added to my database table. Can someone please tell me where I am going wrong in my code?

<HTML>

<HEAD><TITLE>Florida Pet Clinics Inc.</TITLE>

</HEAD>

<BODY>

<H1 ALIGN="CENTER">Florida Pet Clinics Inc. </H1>

<?php
define("MYSQLUSER", "???");
define("MYSQLPASS", "???");
define("HOSTNAME", "???");

$connection = @new mysqli(HOSTNAME, MYSQLUSER, MYSQLPASS);
if ($connection->connect_error) {
	die('Connect Error: ' . $connection->connect_error);
} else {
	echo 'Successful connection to MySQL<br>';

$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$address = $_POST['address'];
$phone = $_POST['phone'];

$name = $last_name . ', ' . $first_name;

echo $name . '<br>';
echo $address . '<br>';
echo $phone . '<br>';


$query = "INSERT INTO 'Account' VALUES "
	. " ('123', '$name', '$address', '$phone')";

if (!$result = $connection->query($query)) {
	echo 'Unable to add rows';
}
else {
	echo 'Row successfully added';
}

}

?>

</BODY>

</HTML>

Open in new window


My variables are being output correctly via the echo methods I used to test.
0
InquisitiveProgrammer
Asked:
InquisitiveProgrammer
  • 2
1 Solution
 
Philippe DamervalSenior Analyst ProgrammerCommented:
Hi,
I may be wrong, but it seems you are using single quotes (' ' ) instead of the MySQL database object quote character  (` `) which is right on top of the TAB key on US keyboards.
Your insert should read:

INSERT INTO `Account` VALUES "
      . " ('123', '$name', '$address', '$phone')
0
 
InquisitiveProgrammerAuthor Commented:
I tried that and still no change.
0
 
InquisitiveProgrammerAuthor Commented:
This is the output I get from my program:

Successful connection to MySQL
Lefler, Jay
1145 Running
8137587733
INSERT INTO `Account` VALUES ('123', 'Lefler, Jay', '1145 Running', '8137587733')
Unable to add rows
0
 
Dave BaldwinFixer of ProblemsCommented:
You haven't selected a database.  The fourth parameter should be the name of your database.  And when you are still trying to get it working, you should not be putting the '@' in there to suppress error messages that would tell if something was wrong.

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
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.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now