donglingyi4679 2014-01-26 17:46
浏览 37
已采纳

不更新SQL数据库

For some reason my code isn't updating mySQL database, but it isn't reporting any errors.

register.php (form)

        <form class="register_form" action="action.php?do=register" method="post">
            Team Name*: <input type="text" name="teamname" required />
            Team Region*: <input type="text" name="teamregion" maxlength="4" required />
            Team Leader*: <input type="text" name="teamleader" maxlength="16" required />
            Team Members: <input type="text" name="teammembers"  />
            <input name="register_submit" type="submit" value="Register" />
        </form>

action.php

    <?php
        $con=mysqli_connect("192.185.#.###","########_reg","#######","#########");
        if (mysqli_connect_errno()) {echo "Failed to connect to MySQL: " . mysqli_connect_error();}
            $action = $_GET['do'];
                if($action=="register") {
                    $teamname = $_POST["teamname"];
                    $teamregion = $_POST["teamregion"];
                    $teamleader = $_POST["teamleader"];
                    $teammembers = $_POST["teammembers"];
                        $result = mysqli_query($con, "INSERT INTO teams (teamname, region, teamleader, teammembers, wins, loses)
                        VALUES (" . $teamname . "," . $teamregion . "," . $teamleader . "," . $teammembers . ",0,0);");
                }
    ?>

Any ideas why this isn't working correctly?

  • 写回答

3条回答 默认 最新

  • dongshi1934 2014-01-26 17:54
    关注

    Here's a working sample with prepared statements, that are "better" to use generally instead of query

    action.php

    $con = new mysqli('localhost', 'root', '', 'dachi');
    
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s
    ", mysqli_connect_error());
        exit();
    }
    
    if (isset($_GET['do']) && $_GET['do'] === "register") {
        $teamname = $_POST["teamname"];
        $teamregion = $_POST["teamregion"];
        $teamleader = $_POST["teamleader"];
        $teammembers = $_POST["teammembers"];
        $wins = 0;
        $loses = 0;
    
        $stmt = $con->prepare("INSERT INTO `teams` (`teamname`,`region`,`teamleader`,`teammembers`,`wins`,`loses`) VALUES (?,?,?,?,?,?)");
        $stmt->bind_param('ssssii', $teamname, $teamregion, $teamleader, $teammembers, $wins, $loses);
        $stmt->execute();
        $stmt->close();
    }
    

    register.php

    <form class="register_form" action="action.php?do=register" method="post">
        Team Name*: <input type="text" name="teamname" required />
        Team Region*: <input type="text" name="teamregion" maxlength="4" required />
        Team Leader*: <input type="text" name="teamleader" maxlength="16" required />
        Team Members: <input type="text" name="teammembers"  />
        <input name="register_submit" type="submit" value="Register" />
    </form>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?