Reputation: 1082
This is my problem when im trying to store news entry some of those entries are inserting but some are not. I don't know if the problem is on the data type. Im just copying some news i found in internet and paste it to my form. Can someone help me about this?
sample of the news that are not inserting. i copy this text in the wiki and paste it to my news content input. and didnt work.
sample of news that successfuly inserted
here is my code for adding.
<?php
include_once('connection.php');
session_start();
$username = ucfirst($_SESSION['username']);
if(isset($_POST['submit'])){
$title = $_POST['title'];
$date = $_POST['date'];
$content = $_POST['content'];
$file=$_FILES['image']['tmp_name'];
$image= @addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name= addslashes($_FILES['image']['name']);
move_uploaded_file($_FILES["image"]["tmp_name"],"img/" . $_FILES["image"]["name"]);
$newsimage="img/" . $_FILES["image"]["name"];
$sql ="INSERT into news (news_title, news_date, news_content, news_image) VALUES ('$title', '$date', '$content', '$newsimage')";
mysqli_query($con, $sql);
echo '<div class="alert alert-success alert-dismissable" id="success-alert">';
echo '<strong>Successfully posted!</strong>';
echo '</div>';
}
?>
Upvotes: 0
Views: 1570
Reputation: 1082
I solved it by changing the $content = $_POST['content'];
to $content = mysqli_real_escape_string($con,$_POST['content']);
Upvotes: 0
Reputation: 401
Few things could go wrong here.
You need to use POST instead of GET while posting form data.
If data is successfully posted escape text before inserting it into the db with:
$content = mysqli_real_escape_string(stripslashes($_POST['content']));
LONGTEXT is just fine for longer text. You don't need LONGBLOB unless you are using binary data (like pictures etc.)
Upvotes: 1