Reputation: 169
I'm trying a simple upload of datas from a table in a database with mysqli functions and sql. I don't know what i'm doing of wrong.
This is the HTML code:
<form name="formCompany" method="post" action="AddCompany.php" >
<div class="modal-body">
<div class="container w-75">
<input type="text" id="nameCompany" name="nameCompany"
class="form-control" placeholder="Name" aria-label="Name" aria-
describedby="basic-addon1">
<br/>
<input type="url" id="webCompany" name="webCompany"
min="1900" class="form-control" placeholder="WebSite" aria-label="WebSite"
aria-describedby="basic-addon1">
<br/>
<input type="text" id="placeCompany" name="placeCompany"
class="form-control" placeholder="Place" aria-label="Place" aria-
describedby="basic-addon1">
<br/>
<input type="email" id="emailCompany" name="emailCompany" class="form-control" placeholder="Email" aria-label="Email" aria-describedby="basic-addon1">
<br/>
<input type="text" id="noteCompany" name="noteCompany"
class="form-control" placeholder="Note" aria-label="Note" aria-
describedby="basic-addon1">
</div>
</div>
<div class="modal-footer">
<button type="submit" id="submitCompany" class="btn btn-
primary">Save</button>
</div>
</form>
and this the page "AddCompany.php" :
<?php
include 'DB.php';
$name = $_POST["nameCompany"];
$place = $_POST["placeCompany"];
$web = $_POST["webCompany"];
$email = $_POST["emailCompany"];
$note = $_POST["noteCompany"];
// Inserisce una nuova compagnia
$sql2="SELECT company_id FROM company ORDER BY company_id DESC LIMIT 1;";
$result=mysqli_query($connessione,$sql2);
$row=mysqli_fetch_array($result,MYSQLI_NUM);
$last_id=$row[0];
$id = $last_id+1;
$sql ="insert into company (company_id, name, place, web,email,note) values
('$id','$name','$place','$web','$email','$note');";
$res1=mysqli_query($connessione, $sql);
if($res1 !=FALSE) {
header("Location: Principale.php");
}
else
{
echo "Impossibile aggiungere Compagnia<br>";
echo "<a href='Principale.php'>Clicca Qui</a> per tornare alla pagina
principale.";
}
?>
It always print me the else because it finds $res1=FALSE
Why?
Upvotes: 1
Views: 654
Reputation: 87
Try this one, you will see what you are doing wrong
DB.php
define ("DB_USER", "Database username");
define ("DB_PASSWORD", "Database password");
define ("DB_DATABASE", "Database name");
define ("DB_HOST", "Hostname");
//@ $con = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
@ $con = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
if($con->connect_error)
die("Unable to connect to database : ".$con->connect_error);
Change the query executions
$res1=$con->query($sql);
if($res1){
header("Location: Principale.php");
}
else
{
echo "Error -> ".mysqli_error($con);
echo "Impossibile aggiungere Compagnia<br>";
echo "<a href='Principale.php'>Clicca Qui</a> per tornare alla pagina principale.";
}
Upvotes: 1
Reputation: 1680
name is keyword in Mysql you have to us `
your query must to be something like this
$sql ="insert into company (company_id, `name`, place, web,email,note) values
('$id','$name','$place','$web','$email','$note');";
Upvotes: 0