在字段中输入值后,下面的代码会显示一条消息
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.";
}
}
?>
我希望将在字段中输入的值保存在数据库中
您正在使用 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();
?>
此代码应正确地将值插入数据库并显示相应的成功或错误消息。