PHP和jQuery与MySQL
我试图通过jQuery和AJAX更新数据库条目。我正在检查发送的值是否正确-但我不确定如何检查数据库未更新的原因 我的代码如下:PHP和jQuery与MySQL,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我试图通过jQuery和AJAX更新数据库条目。我正在检查发送的值是否正确-但我不确定如何检查数据库未更新的原因 我的代码如下: $(document).on("click", ".approve", function(){ var classes = $(this).parents('div:eq(0)'); // this gets the parent classes. i = 0; var pros = []; classes.find(".prosnco
$(document).on("click", ".approve", function(){
var classes = $(this).parents('div:eq(0)'); // this gets the parent classes.
i = 0;
var pros = [];
classes.find(".prosncons .pros ul li").each(function(){
pros.push($(this).text());
});
var cons = [];
classes.find(".prosncons .cons ul li").each(function(){
cons.push($(this).text());
});
var notes = classes.find(".notes").text();
var id = classes.find(".id").text();
$.ajax({
type: "POST",
url: "../scripts/upload.php",
data: { method: "approve", pros: pros, cons:cons, notes:notes, id:id },
success: $(this).closest(".approval").remove()
});
});
PHP::
您不能直接将数组插入mysql,因为mysql不理解php数据类型。mysql只理解SQL。因此,要将此数组插入mysql数据库,您必须将其转换为sql语句。您可以将您的优点和缺点值更改为逗号分隔字符串或任何类型的字符串。将mysql错误回显到响应中。它们将出现在ajax回调的第一个参数数据中。你可以把它记录到控制台上,然后查看它。好的,它们只是作为“数组”进行处理-我需要将数组更改为实际文本
require("connection.php");
$title = $_POST['title'];
$content = $_POST['content'];
$pros = $_POST['pros'];
$cons = $_POST['cons'];
$notes = $_POST['notes'];
$method = $_POST['method'];
$id = $_POST['id'];
if($method == "approve"){
$sql = "UPDATE `approval` SET approved = 1 WHERE pros=:pros AND cons=:cons AND notes=:notes AND id=:id";
$statement = $conn->prepare($sql);
$statement->execute(array(':pros' => $pros, ':cons' => $cons, ':notes' => $notes, ':id'=> $id));
echo $conn->error;
}
else{
$sql = "INSERT INTO `approval` VALUES(null, :title, :pros, :cons, :notes, 0)";
$statement = $conn->prepare($sql);
$statement->execute(array(':title' => $title, ':pros' => $pros, ':cons' => $cons, ':notes' => $notes));
}