AJAX - 在 mysql 中插入数据

问题描述 投票:0回答:1

在字段中输入值后,下面的代码会显示一条消息

Poprawnie zapisano: - but without this value

也不向数据库写入任何内容。我是不是哪里搞错了?

HTML 文件

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>

        <input type="text" id="wartosc" placeholder="Wartość do zapisania">
        <button id="zapiszBtn">Zapisz do bazy danych</button>


        <script>
            $(document).ready(function(){
                $("#zapiszBtn").click(function(){
                    var wartosc = $("#wartosc").val();
                    $.ajax({
                        url: "zapisz.php",
                        type: "POST",
                        data: wartosc,
                        success: function(wartosc){
                            alert("Poprawnie zapisano: " + wartosc);
                        }
                    });
                });
            });
        </script>
</body>

ZAPISZ.php

<?php

$sname= "localhost";
$unmae= "root";
$password = "root";

$db_name = "vote2";

$conn = mysqli_connect($sname, $unmae, $password, $db_name);

if (!$conn) {
    echo "Połączenie się nie powiodło!";
}

// Uzyskanie wartości z AJAX
if(isset($_POST['wartosc'])){

    $wartosc = $_POST['wartosc'];

    // Wstawienie wartości do bazy danych
    $stmt = $pdo->prepare("INSERT INTO 'test' ('r1') VALUES ('$wartosc')");
    $result = mysql_query($stmt);


    if($result) {
        echo "Wartość została pomyślnie zapisana do bazy danych.";
        } else {
            echo "Wystąpił błąd podczas zapisywania wartości do bazy danych.";
        }
}

?>

我希望将在字段中输入的值保存在数据库中

javascript php html mysql ajax
1个回答
0
投票

您正在使用 mysqli_connect() 建立连接,但随后您尝试使用 $pdo->prepare() 准备一条语句。您应该始终使用 mysqli 函数或始终使用 PDO 函数,但不要混合使用它们。

<input type="text" id="wartosc" placeholder="Wartość do zapisania"/>
<button id="zapiszBtn">Zapisz do bazy danych</button>

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function(){
    $("#zapiszBtn").click(function(){
        var wartosc = $("#wartosc").val();
        $.ajax({
            url: "zapisz.php",
            type: "POST",
            data: { wartosc: wartosc }, // Send data as an object
            success: function(response){
                alert(response);
            }
        });
    });
});
</script>

PHP(zapisz.php):

<?php
$sname= "localhost";
$unmae= "root";
$password = "root";
$db_name = "vote2";

$conn = mysqli_connect($sname, $unmae, $password, $db_name);

if (!$conn) {
echo "Połączenie się nie powiodło!";
}

if(isset($_POST['wartosc'])){
$wartosc = $_POST['wartosc'];

// Prepare and execute statement
$stmt = $conn->prepare("INSERT INTO test (r1) VALUES (?)");
$stmt->bind_param("s", $wartosc);
if ($stmt->execute()) {
    echo "Wartość została pomyślnie zapisana do bazy danych.";
} else {
    echo "Wystąpił błąd podczas zapisywania wartości do bazy danych.";
}
$stmt->close();
}
$conn->close();
?>

此代码应正确地将值插入数据库并显示相应的成功或错误消息。

© www.soinside.com 2019 - 2024. All rights reserved.