我需要在这个 PHP Ajax 使用 PDO 更新 mysql 数据库方面的帮助。如果用户选中复选框,我想更新数据库。下面是我的代码:
JS:
$('input[name=product_new]').click(function(){
var chkbox_id = $(this).attr('alt');
var chkbox_selected = $(this).is(':checked');
if(chkbox_selected == true)
{
chkbox_selected = "checked";
}
else
{
chkbox_selected = "uncheck";
}
$.post({
url: "../products_listing.php",
type: "POST",
data: {product_id: chkbox_id, product_new: chkbox_selected},
cache: false,
success: function(){}
});
});
使用 PDO 更新数据库的 PHP 页面:
$id = $_POST['product_id'];
$product_new = $_POST['product_new'];
if(isset($_POST['product_new']))
{
try
{
$query = "UPDATE productinfo SET new_arrival=? WHERE id=?";
$stmt_new_chkbox = $conn->prepare($query);
$stmt_new_chkbox->bindParam(1, $product_new, PDO::PARAM_STR);
$stmt_new_chkbox->bindParam(2, $id, PDO::PARAM_INT);
$stmt_new_chkbox->execute();
}
catch(PDOException $e)
{
echo 'ERROR: ' . $e->getMessage();
}
}
当我使用 mysql 时它可以工作,但现在我已经将它更改为使用 PDO,它不再工作了。我找不到哪里出错了。提前谢谢各位。
下面是来自 mysql_ 的旧代码:
$id = mysql_real_escape_string($_POST['product_id']);
$product_new = mysql_real_escape_string($_POST['product_new']);
if(isset($_POST['product_new']))
{
$upt_new=mysql_query("update products_list set new_arrival='$product_new' where id='$id'");
}
好的!我已经知道出了什么问题。该死的目录路径。我拿出 ../ 它有效!不过有点奇怪。
因为我的 js 文件在 JS 文件夹中,而 products_listing.php 在 js 文件夹之外。它不应该是../products_listing.php 吗?
谁能告诉我为什么它不能正常工作?
提前谢谢各位!