【发布时间】:2017-06-30 14:22:23
【问题描述】:
我有一个 php 脚本,可以将表单输入插入名为 XXXX_cmets 的数据库中,并将其插入名为 Comments 的表中,该表具有 Name 和 Comment 作为列。当用户点击 Save 按钮时,应将表单插入到 DB 中。我使用 connect.php 连接到数据库:
<?php
$servername = "localhost";
$username = "XXXXX";
$password = "XXXXX";
$Dbconnect = "XXX_comments";
// Create connection
$conn = new mysqli($servername, $username, $password);
mysqli_select_db($conn,$Dbconnect);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
在我的 index.php 文件中,我有以下形式:
<?php
include ('connect.php');
?>
<?php
if(isset($_POST['Save'])){
$sql = $conn->prepare("INSERT INTO Comments (Name, Comment) VALUES (?, ?)");
$stmt->bind_param("ss", $firstname, $comment);
$firstname = $_POST['firstname'];
$comment = $POST['comment'];
$stmt->execute();
Echo "Succefully inserted to table";
}
?>
<div class="container">
<div class="row" id="post-review-box" style="display:none;">
<div class="col-md-12">
<form id="form" accept-charset="UTF-8" action="index.php" method="post">
<input type="text" class="form-control animated" id="firstname" type="hidden" placeholder="Enter your Name">
<br>
<input id="ratings-hidden" name="rating" type="hidden">
<textarea class="form-control animated" cols="50" id="comment" placeholder="Enter your review here..." rows="5"></textarea>
<br>
<div class="text-right">
<div class="stars starrr" data-rating="0"></div>
<a class="btn btn-danger btn-sm" href="#" id="close-review-box" style="display:none; margin-right: 10px;">
<span class="glyphicon glyphicon-remove"></span>Cancel</a>
<button class="btn btn-success btn-lg" type="submit" name="Save">Save</button>
</div>
</form>
</div>
</div>
</div>
<div class="display"></div>
</div>
</div>
</div>
连接成功,但没有插入数据。
【问题讨论】:
-
您尝试将 3 个值插入 2 列,只有 2 个参数。
-
对不起,这是一个错字我更新了答案,它仍然没有插入数据。
-
也改变这一行 $stmt->bind_param("sss", $firstname, $comment);
-
尝试检查errors,而不是盲目地假设它有效。