Max
Max

Reputation: 375

Code won't insert into database

I have the following code that should collect the filled values from a former page and insert them in a MySQLi database. This does not work and I only get a blank page as a result, without any messages. I can't figure out what I'm doing wrong.

<?php
ini_set('display_errors',1);
error_reporting(E_ALL);

if(mysqli_connect_errno())
{
    echo mysqli_connect_error();
}

$company_name = $_POST['company_name'];
$description = $_POST['description'];
$welcome_text = $_POST['welcome_text'];
$thanks_message = $_POST['thanks_message'];
$image = addslashes (file_get_contents($_FILES['image']['tmp_name']));
$logo = getimagesize($_FILES['image']['tmp_name']);

$image_type = $logo['mime'];

$q = "INSERT INTO project VALUES('','$company_name','$description','$image','$image_type','$welcome_text','$thanks_message')";

$r = mysqli_query($mysqli,$q);
if($r)
{
    echo "<h1>Projektet är skapat!</h1><br>
      Tryck på knappen nedan för att ta dig till Dashboard.<br><br>
      <a href='dashboardadmin.php'><button id='projectbutton'>Dashboard</button></a>";
}
else
{
    echo mysqli_errno($mysqli) . ": " . mysqli_error($mysqli) . "\n";
}
?>

Upvotes: 1

Views: 417

Answers (2)

Ekin
Ekin

Reputation: 1955

Correct syntax of INSERT is:

INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);

Please try entering column names before your values first. Also check your $_POST values, whether $_FILES['image'] is available and confirm your mysqli connection.

Edits:

Is the first value (empty one) your primary key? If so, can you omit that bit in your code and try again? (Assuming pid is integer and auto incrementing value.)

INSERT INTO project (project_name, description, image, image_type, welcome_text, thanks_message) VALUES('$company_name','$description','$image','$image_type','$welcome_text',‌​'$thanks_message')

Somehow I don't think this would be Azure specific issue as per your comment.

Can you see any errors in logs etc? Also try echoing the query before you run it and check if you run it directly on your phpmyadmin etc to see if it'd work.

Please also try using echo mysqli_errno($mysqli) . ": " . mysqli_error($mysqli) . "\n"; at if($r){..} else { //here } to see if you get an error.

Latest Update:

$q = "INSERT INTO project (project_name, description, image, image_type, welcome_text, thanks_message) VALUES('".$company_name."','".$description."','".$image."','".$image_type."','".$welcome_text."','".$thanks_message."')";

Upvotes: 3

Prosen Ghosh
Prosen Ghosh

Reputation: 655

Try this, because your primary key value is auto incremented.

$q = "INSERT INTO project VALUES('$company_name','$description','$image','$image_type','$welcome_text','$thanks_message')";

Upvotes: 2

Related Questions