首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP论坛不将数据写入数据库

问PHP论坛不将数据写入数据库
EN

Stack Overflow用户
提问于 2016-05-07 13:08:51
回答 1查看 46关注 0票数 0

我展示的代码似乎在$tid=mss上停止了工作

这就是为什么我认为我一开始调用的mss函数不工作的原因。

当脚本在我的网站上运行时,它就像什么都没发生过一样,并返回到您正在查看的主题。很抱歉简短的解释,我不知道发生了什么,所以我无话可说。如果您需要任何问题,请对此进行评论。

Reply.php

代码语言:javascript
复制
  <?php
    require('connect.php');
    function mss($value) {
        return mysqli_real_escape_string(trim(strip_tags($connect, $value)));
    }
if(!$_POST['submit']) {
    echo "Invalid usage of the file!  Hmm, maybe you should try sql injection.";
} else {
    $tid = mss ($_GET['id']);
    $msg = mss ($_POST['reply']);

    if(!$tid) {
        echo "Hmm, I dont know how that you would reply to no topic but still expect it to work.";
    } else {
        $sql = "SELECT * FROM forum_topics WHERE id='".$tid."'";
        $res = mysqli_query($connect, $sql) or die (mysqli_error());
        if(mysqli_num_rows($res) == 0) {
            echo "Wat r u doin m7, you tryin to rply to a topic that doesn't exist.";
        } else {
            $row = mysqli_fetch_assoc($res);
            if(!$msg) {
                echo "You did not give a reply.";
            } else {
                if(strlen($msg) < 5 || strlen($msg) > 10000) {
                    echo "<font color='red'>Your reply must be between 5 and 10000 characters!</font>";
                } else {
                    $date = date("m-d-y") . " at " . date("h:i:s");
                    $time = time();
                    $sql3 = "INSERT INTO forum_replies (id, tid, uid, message, date, time) VALUES (default, '".$tid."','".$_SESSION['uid']."', '".$msg."', '".$date."', '".$time."')";
                    $res3 = mysqli_query($connect, $sql3) or die (mysqli_error());
                    header("Location: topics.php?id='.$tid'");
                }
            }
        }
    }
}

?>

编辑:更新的代码

Connect.php

代码语言:javascript
复制
<?php
    $host="localhost";//hostname
    $username="********";//username
    $password="********";//database password
    $db_name="forum";//database name

    $connect = mysqli_connect($host, $username, $password, $db_name) or die ("<font color='red'>Unable to connect to MySQL!  Contact an admin.</font>");
?>
EN

回答 1

Stack Overflow用户

发布于 2016-05-07 13:22:50

函数mysqli_real_escape_string()需要一个mysqli连接作为第一个参数传递。示例用法是mysqli_real_escape_string($db_link, $value),即$db_link变量可能是在connect.php文件中设置的,并且是通过调用mysqli_connect()设置的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37084726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档