Jon
Jon

Reputation: 1

PHP Mysql Query (INSERT) Issue

I am having an issue with a MySQL query as follows:

My script generates this as an example query:

INSERT INTO `contacts`(`name`, `phone`, `email`, `city`, `state`, `date`) VALUES ('Test2', '123-456-7890', '[email protected]', 'mesa', 'az', '04-14-2013')

Which if I drop directly into PHPMyA, works fine. However, the PHP script I am trying to use to send the query from my website is not working and I can't get it figured out. Here it is:

$sql = "INSERT INTO `contacts`(`name`, `phone`, `email`, `city`, `state`, `date`) VALUES ('$name', '$phone', '$email', '$city', '$state', '$date')";

mysql_query($sql);

$result = mysql_query($sql);

if($result)
{
    echo("<br>Data Input OK");
} 
else
{
   echo("<br>Data Input Failed");
}

Nothing makes it to the MySQL DB and no PHP errors are displayed, however, if I echo $sql I get the exact query I posted previously.

Upvotes: 0

Views: 24157

Answers (8)

dev4092
dev4092

Reputation: 2891

if(isset($_POST['submit']))
{
   $name=$_POST['name'];
   $age=$_POST['age'];
   $address=$_POST['address'];

   $ins="insert into table_name(`name`,`age`,`address`)values('".$name."','".$age."','".$address."')";
   mysql_query($ins);
   echo 'data inserted successfully';
} 

Upvotes: 0

rajesh
rajesh

Reputation: 29

$sql = 'INSERT INTO Table_name (`id`, `name`) VALUES ("1", "php");

Upvotes: 1

Ali Mohammadi
Ali Mohammadi

Reputation: 1324

Try to use mysql_query($sql,$con); instead of mysql_query($sql);.

Upvotes: 0

Manish Nagar
Manish Nagar

Reputation: 1046

use this

"INSERT INTO `contacts`(`name`, `phone`, `email`, `city`, `state`, `date`) VALUES ('$_POST[name]', '$_POST[phone]', '$_POST[email]', '$_POST[city]', '$_POST[state]', '$_POST[date]')";

Upvotes: 0

Just remove the single line mysql_query($sql); on your code and you will be fine.. But you should better start practicing PHP MySQLi which stands for PHP MySQL Improved, such:

$con = mysqli_connect($host, $user, $password, $password);

$sql = "INSERT INTO `contacts`(`name`, `phone`, `email`, `city`, `state`, `date`) VALUES ('$name', '$phone', '$email', '$city', '$state', '$date')";

$result = mysqli_query($con, $sql);

if($result) {
    echo("<br>Data Input OK");
} else {
    echo("<br>Data Input Failed");
}

Upvotes: 1

Harpreet
Harpreet

Reputation: 719

You are running mysql_query twice. Reason of the error. Try running the following code.

$sql = "INSERT INTO `contacts`(`name`, `phone`, `email`, `city`, `state`, `date`) VALUES ('$name', '$phone', '$email', '$city', '$state', '$date')";

$result = mysql_query($sql) or die(mysql_error());

if($result){
    echo("<br>Data Input OK");
} else{
    echo("<br>Data Input Failed");
}

Upvotes: 0

manojtc
manojtc

Reputation: 562

Are you sure there is a valid connection (..mysql_connect())? Try using the full syntax like so..

$conn = mysql_connect(...);
$result = mysql_query($query, $conn);

Also try forcing a commit after you execute the statement -

$mysql_query("COMMIT", $conn);

Upvotes: 0

Fabio
Fabio

Reputation: 23490

You are executing $sql twice in your script wich is causing the error, please remove

mysql_query($sql);

And it will be ready to go

I would also suggest to stop using mysql_query please switch to mysqli or PDO

Upvotes: 0

Related Questions