提交表单到mysql

时间:2018-12-07 20:35:30

标签: javascript html mysql ajax forms

我认为我没事,但是我的数据库中没有这些值。我已将表单正确链接到javascript,并且似乎已在代码中输入了正确的查询,但仍然无法正常工作。

我的html标记中包含表单,我将所有js链接到头部:

<!DOCTYPE html>
<html lang="en">
<head>
<title>JavaScript sample: Form Validation & Sql insertion</title>
<script src="jquery-3.3.1.min.js"></script>
<script src="databaseManager.js"></script>
<script type="text/javascript" src="js_always_insert.js"></script>
<script type="text/javascript" src="verstuurData.js"></script>
</head>
<body>
<table id="table1">
<tr>
    <td>Voornaam</td>
    <td><input type="text" id="voor"/></td>
</tr>
<tr>
    <td>Achternaam</td>
    <td><input type="text" id="achter"/></td>
</tr>
<tr>
    <td>Email:</td>
    <td><input type="text" id="email"/></td>
</tr>
<tr>
    <td>Wachtwoord</td>
    <td><input type="password" id="wachtwoord" onkeyup="verstuurData();"/> 
</td>
</tr>
<tr>
    <td><input type="button" id="create" value="Create" 
onclick="validate();finalValidate();"/></td>
    <td><div id="errFinal"></div></td>
</tr>
</table>
</body>
</html>

我的javascript /链接,用于将表单数据发送到mysql数据库:

var dbHost = "-";
    var myToken = "-";
    mDatabaseManager.connect(dbHost);
    mDatabaseManager.authenticate(myToken);

    var tableNaam = "persoon";

    function verstuurData() {
        var persoonGegevens = new Array();
        persoonGegevens[0] = document.getElementById('voor').value;
        persoonGegevens[1] = document.getElementById('achter').value;
        persoonGegevens[2] = document.getElementById('email').value;
        persoonGegevens[3] = document.getElementById('wachtwoord').value;

        var maakTabel = "CREATE TABLE IF NOT EXISTS " + tableNaam + "(" + 
            " 'voornaam' varchar(255) DEFAULT NULL, " +
            " 'achternaam' varchar(255) DEFAULT NULL, " + 
            " 'email' varchar(255) DEFAULT NULL, " +
            " 'wachtwoord' varchar(255) DEFAULT NULL, ";

        mDatabasemanager
            .query(maakTabel)
            .done(function(verzenden) { 

                var dataZettenPersoon = "INSERT INTO" + tableNaam + "(" + 
                    "'voornaam' , 'achternaam' , 'email' , 'wachtwoord') " +
                    " VALUES ('" 
                    + persoonGegevens[0]
                    + "','"
                    + persoonGegevens[1]
                    + "','" 
                    + persoonGegevens[2]
                    + "','"
                    + persoonGegevens[3]
                    + "')";

        mDatabaseManager
            .query(dataZettenPersoon)
            .done(function(data) {
                        })
                        .fail(function(reason) {
                            console.log(reason);
                    });

                })
                .fail(function(reason) {
                    console.log(reason);
                });
    }

1 个答案:

答案 0 :(得分:1)

您不能直接从Javascript查询数据库(至少不使用不带库的纯JavaScript)。

您的Javascript代码应调用一个服务器端函数(您可以用PHP,C#等编写),该函数将查询数据库并将结果返回给您的Javascript代码。

该示例可能会有所帮助:https://www.w3schools.com/js/js_ajax_database.asp