Skip to content Skip to sidebar Skip to footer

Php Not Inserting Content In Mysql Database: Text, Images, Anything

So here is my dilemna that I've been reviewing and trying to break through for the last few days. I've created a basic login/register PHP system, which works fine. I've implemented

Solution 1:

Your code is failing for two reasons.

  • Your conditional statement is looking for a named element called "submit"
  • You're trying to execute before the statement. Place your query (mysqli_query())"below" the values and do mysqli_query($dbCon, $userREQ3) or die(mysqli_error($dbCon));

Sidenote: Change if ($_POST['submit']) { to if (isset($_POST['submit'])) { it's better.

and <input type="submit" value="Write Post"/> to <input type="submit" name="submit" value="Write Post"/>


SQL injection:

Your present code is open to SQL injection. Use mysqli with prepared statements, or PDO with prepared statements.

Also, you have variables in the body of your code, which may throw undefined variable x on initial page load.


As stated (in comments below): Make sure that you have connected to your database and using a mysqli method and not another API.

Different MySQL APIs do not intermix with each other. Use the same MySQL API from connection to query.


Add error reporting to the top of your file(s) which will help find errors.

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

// rest of your code

Sidenote: Error reporting should only be done in staging, and never production.


Successful query or not:

To see if the query was indeed successful, or failed, check for errors and use affected_rows.

References:


PHP Not Inserting Content in mySQL Database: Text, Images, Anything

If you were trying to use images, then a valid enctype is required to be included in the form tags.

Depending on how/what you wanted to insert for the images, than that could be a factor.

If you're wanting to insert the image as a path is one thing, but using it "as an image", say a BLOB then that has limitations in size; use LONGBLOB and you must escape that data before going in the database.

Consult:

Solution 2:

Try to generate the query first, then execute it...

$userREQ3 = " INSERT INTO `logindb`.`blog` 
(`title`, `subtitle`, `content`) VALUES ('$title', '$subtitle','$content')";


mysqli_query($dbCon, $userREQ3);

Post a Comment for "Php Not Inserting Content In Mysql Database: Text, Images, Anything"