问题描述:

First of all, I already looked for the same questions, but couldn't find solutions. My db is working correctly. Everything is fine, except bindParam(). var_dump($expr) is also correct

$stmt = $pdo->prepare('SELECT * FROM tbl WHERE student_id = :student_id and exam_no = :exam_no');

$student_id = $_POST['student_id'];

$academic_year = $_POST['academic_year'];

$exam_no = $_POST['exam_no'];

$stmt->bindParam(':student_id', $student_id);

$stmt->bindParam(':exam_no', $exam_no);

$stmt->execute();

$blah = $stmt->fetchAll();

$expr = $pdo->prepare('SELECT english FROM tbl WHERE student_id = :student_id and exam_no = :exam_no');

$expr = bindParam(':exam_no', $exam_no);

$expr = bindParam(':student_id', $student_id);

$expr->execute();

Getting: "Fatal error: Call to undefined function bindParam()" where $expr = bindParam() is located

网友答案:

bindParam is a method of PDOStatement, not a global function. (It's odd you did right at first but wrong at second.)

Change

$expr = bindParam(':exam_no', $exam_no);
$expr = bindParam(':student_id', $student_id);

to

$expr->bindParam(':exam_no', $exam_no);
$expr->bindParam(':student_id', $student_id);
相关阅读:
Top