PHP 将 插入 sql 表中


PHP inserting into sql table

我正在使用html表单文本输入和CKEditor来允许客户端将帖子插入博客数据库。图像输入采用 html img 标签,例如,如果您选择插入图像,CKEditor 也会发送 img 标签。

我的问题是 PHP 在 img 标签中的引号中插入反斜杠,我只是不确定如何防止这种情况。我查看了文档,但不想做任何会造成伤害的事情。有什么建议吗?自从我使用PHP和SQL以来已经有一段时间了。

// set parameters and execute
    $title = $_POST['postBlogTitle'];
    $content = $_POST['editor1'];
    $image = $_POST['postBlogImage'];
// Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    }
    // prepare and bind
    $stmt = $conn->prepare("INSERT INTO Blog (TITLE, CONTENT, IMAGE) VALUES (?, ?, ?)");
    $stmt->bind_param("sss", $title, $content, $image);

为了帮助那些将来可能会看到这种情况的人:

要测试magic_quotes_gpc是否已打开,请执行以下操作:

将下面的代码粘贴到 php 文件中,然后将该文件上传到您的网站,与您的 index.html 位于同一文件夹中。访问网址 (www.myWebsite.com/phpinfo.php)

<?php phpinfo() ?>

向下滚动,您最终会找到它以及状态。 如@Barmar所述,如果打开,请使用 stripslashes()。

尝试使用条形斜杠。

$image = stripslashes($_POST['postBlogImage']);