【发布时间】:2016-08-05 07:03:45
【问题描述】:
我有一个用于在数据库中存储信息的 ajax 函数。成功消息在控制台日志中消失,但实际上没有存储任何内容。有什么想法吗?
如果您希望我打开错误消息,请准确告诉我如何执行此操作,以及在哪个文件中。
AJAX(在单击按钮时关闭)
var id = ranNum;
//.cart-content is an item inside a shopping cart
$('.cart-content').each(function() {
//I know this is not the best way to grab data, but for now it's what I have to do
var item = $(this).find('.item').text();
var price = $(this).find('.price').text();
//These return the proper text, so I'm grabbing the information fine.
console.log("id: " + id);
console.log("item: " + item);
console.log("price: " + price);
$.ajax({
url : '../controllers/insertOrder.php',
//I even added extra letters just in case I couldn't use the same word twice.
data: {idd: id, itemm: item, pricee: price},
type : 'POST',
success : function(){console.log("success");},
error : errorHandler
});
});
insertOrder.php(路径正确)
<?php
require_once '../../models/database.php';
require_once 'Order.php';
$order = new Order;
$order->insertOrder($_POST['idd'], $_POST['itemm'], $_POST['pricee']);
订单.php
class Order{
public function __construct() {
}
public function insertOrder ($id, $item, $price) {
$db = Dbclass::getDB();
$query = "INSERT INTO orders (order_id, order_item, order_price)
VALUES(:id, :item, :price)";
$statement = $db->prepare($query);
$statement->bindParam(':id', $id, PDO::PARAM_INT, 11);
$statement->bindParam(':item', $item, PDO::PARAM_STR, 50);
$statement->bindParam(':price', $price, PDO::PARAM_STR, 10);
$statement->execute();
}
}
【问题讨论】:
-
您是否尝试从 PDO 中回显错误?
-
尝试从脚本返回响应以确保它被命中。我不确定你指定的亲戚是否可行。
-
@trickyzter 我在我为成功方法创建的控制台日志中收到“成功消息,所以它正在连接。我曾经有一个错误的路径,然后我在控制台日志中看到一个错误. 现在我看不到那个错误了。
-
@Machavity 我不确定我是否理解如何做到这一点。如果你说的是 database.php,我已经成功使用过这个类很多次了,所以我怀疑它给我带来了问题。
-
@JordanCarter 在
execute()之后尝试print_r($statement->errorInfo());
标签: javascript php sql ajax pdo