3 回答
TA贡献1895条经验 获得超3个赞
修复查询中的问题
您在查询和值参数中传递了 8 个参数 您传递了 9 个参数 "'$user', 0, , '$payment_gross'" 只需在 "0," 后删除一个 ","
TA贡献2003条经验 获得超2个赞
$odb 的类型是什么?如果它是一个 PDO 对象,你应该调用
$odb->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
这样调用query将显示错误是什么。
但是,从查看您的 SQL 来看,您似乎有 8 个命名参数,但值列表中有 9 个,尽管其中一个是空的。因此,请确保您传递了正确的参数。
- 编辑 -
查看上面的代码,顶部似乎有额外的逗号。我已经整理了您的代码并添加了错误捕获。
它会将您的代码结果写入文件results.txt。调用此方法后,查看此文件以查看发生了什么。
$insertOrder='?';
$error='?';
try
{
$ordername = $_POST['item_name'];
$user = $_SESSION['username'];
$payment_gross = $_POST['mc_gross'];
$odb->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$insertOrder = $odb -> query("INSERT INTO orders (`ordername`, `content`, `status`, `list`, `username`, `date`, `price`) VALUES ('$ordername', 0, 0, 0,'$user', 0,'$payment_gross')");
}
catch (Exception $ex)
{
$error=$ex->getMessage();
}
file_put_contents('results.txt',"error: $error - sqlresult: $insertOrder");
TA贡献1796条经验 获得超7个赞
尝试这个。
$ordername = $_POST['item_name'];
$user = $_SESSION['username'];
$payment_gross = $_POST['mc_gross'];
$insertOrder = $odb -> query("INSERT INTO orders (id, ordername, content, status, list, sername, date, price)
VALUES(NULL, '$ordername', 0, 0, 0, '$user', 0, '$payment_gross')");
- 3 回答
- 0 关注
- 198 浏览
添加回答
举报
