我有一个功能:
function report_error($db, $uid, $companyid, $function, $input, $error ){
try {
$submit = new PDO("mysql:host=".$db['server'].";dbname=".$db['db'], $db['mysql_login'], $db['mysql_pass'], array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
$submit->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt=$submit->prepare ("INSERT INTO error_log (companyid, uid, funct, input, error, datetime) VALUES (:companyid, :uid, :function, :input, :error, NOW());");
$stmt->bindParam(":uid", $uid);
$stmt->bindParam(":input", $input);
$stmt->bindParam(":companyid", $companyid);
$stmt->bindParam(":error", $error);
$stmt->bindParam(":function", $function);
$stmt->execute();
}
catch(PDOException $e) {
echo "error: ".$e->getMessage();
//report_error ($db, $uid, $companyid, "report_error", $e->getMessage());
}
}
当我调用该函数时:
report_error ($db, $_SESSION['uid'], $companyid, "update_company_rate", "car_category: $car_category, rate: $rate, companyid: $companyid", $error);
没有任何反应:没有错误消息,http日志中没有警告,没有。每当我使用navicat或其他SQL客户端运行它时,查询本身都能正常工作。
我已经在这个工作了3个小时,不能再思考了,请看这里有什么问题。