首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不更新SQL数据库

不更新SQL数据库
EN

Stack Overflow用户
提问于 2014-01-26 17:46:40
回答 2查看 83关注 0票数 0

由于某些原因,我的代码没有更新mySQL数据库,但它没有报告任何错误。

register.php (表格)

代码语言:javascript
复制
        <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

代码语言:javascript
复制
    <?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);");
                }
    ?>

知道为什么不能正常工作吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-26 17:54:14

下面是一个带有准备好的语句的工作示例,这些语句“更好”用于一般而不是query

action.php

代码语言:javascript
复制
$con = new mysqli('localhost', 'root', '', 'dachi');

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", 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

代码语言:javascript
复制
<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
EN

Stack Overflow用户

发布于 2014-01-26 17:50:47

你应该改变:

代码语言:javascript
复制
if($action=="register") {

代码语言:javascript
复制
if($action=="register_submit") {

因为输入的标记名设置为值register_submit,而不是注册。

并将$action = $_GET['do'];更改为$action = $_POST['register_submit'];

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

https://stackoverflow.com/questions/21366970

复制
相关文章

相似问题

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