php - 为什么我在帖子中输入内容时我的博客帖子条目是空的?

标签 php mysql mysqli

我昨天将我的上传脚本更新到 mysqli,在解决了一些错误并无法从我的数据库中取回结果后,我发现了另一个问题,我无法找出它发生的原因...

当我上传一篇新的博文时,它确实以正确的方式将它上传到我的数据库,但从第二个开始,我在博文中输入了一个条目,它最终变成了一个空条目。

在我将我的脚本从 mysql 更新到 mysqli 之前,这非常有效。

我的猜测是我在查询中做错了什么,但我不知道我在这里遗漏了什么......

提前致谢!

这是表单和上传脚本的代码部分

<?php

session_start(); /// initialize session 
include("important/passwords.php"); 
check_logged(); /// function checks if visitor is logged. If user is not logged the user is redirected to login.php page  

// Start a session for displaying any form errors

session_start();
?>
<!DOCTYPE html>
<html>
<head>
<title>Upload Multiple Images Using jquery and PHP</title>
</head>

<body>
<div id="maindiv">
<div id="formdiv">
<h2 align="center">Upload en delete Blogs</h2>


                <?php 
                if (isset($_SESSION['error']))
                {
                    echo "<span id=\"error\"><p>" . $_SESSION['error'] . "</p></span>";
                    unset($_SESSION['error']);
					}
					
 ?>   

                <form action="upload.php" method="post" enctype="multipart/form-data">
               
                    <label>Datum:</label>
                    <input type="text" name="date" style="width:250px;"/><br />

                    <label>Blogs:</label>
                    <textarea name="blog" style="width:250px;height:150px;"></textarea><br /><br />
                 
                    <input type="submit" value="Upload" name="submit" id="submit" class="upload" />
               </p>
                </form>

        		<p>
       			 <form action="delete_multiple.php" method="post" class="textdelete">
Wil je nieuwsberichten van de site halen?    			 
    			 <input type="submit" name="formSubmit" value="Submit" />
				 </form>
                 </p>
         
         <p>
                 <form action="logout.php" method="post" class="textdelete">
    			 <input type="submit" name="formSubmit" value="Logout" />
				 </form>
                 </p>
         </div>
         </div>
    </body>
</html>

<?php
 
// Call our connection file
require("includes/conn.php");
 
$date=$_POST['date'];
$blog=$_POST['blog'];

$query="Insert into blog (date, blog) values ('$date', '$blog')";  

mysqli_query($conn, $query) or die ('error updating database'); 


echo "Het nieuws is geupdate met '$date', '$blog'. De pagina zal over 5 seconden terug naar blogupload gaan.";
header('Refresh: 5; url=blogupload.php');
?>

最佳答案

您需要对数据进行转义,以防它包含特殊字符。

$date = mysqli_real_escape_string($conn, $_POST['date']);
$blog = mysqli_real_escape_string($conn, $_POST['blog']);

但更好的方法是使用准备好的语句,这样你就不必担心这个了。

$query="Insert into blog (date, blog) values (?, ?)";
$stmt = mysqli_prepare($conn, $query);
mysqli_stmt_bind_param($stmt, "ss", $_POST['date'], $_POST['blog']);
mysqli_stmt_execute($stmt) or die(mysqli_error($conn));

关于php - 为什么我在帖子中输入内容时我的博客帖子条目是空的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36964987/

相关文章:

php - 为什么这个 mysql 查询没有成功插入到我的数据库中?

php - MySQL从表中获取数据并检查表行中是否存在userid

mysql - 有没有办法使用 mySql 中的表查询来获取选择的随机记录

php - 将mysql查询转换为数组格式

php - 为什么查询显示结果,但大部分参数值都是错误的?

php - 从MySQL数据库获取数据而不刷新

php - Codeigniter,为 MySQL 创建表和用户

php - 读取大文件时出现内存不足错误

php - CodeIgniter - 声明全局变量的最佳位置

php - 用于删除临时帐户的 Cronjob?