将交易 ID 和详细信息插入 mysql

insert transaction id and details into mysql

<?php
if ( isset($_POST['btnSubmit']) ) {

// gather card info
// gather card info
$transaction->amount ='9.99';

$transaction->card_num =$_POST['card_num'];
$transaction->exp_date =$_POST['exp_date'];

// gather card info
// gather card info

//capture info

$response = $transaction->authorizeAndCapture();

//capture info

//check if approved
//check if approved

if($response->approved){
  echo "<h1>Success! The test credit card has been charged!</h1>";
  echo "Transaction ID: ". $response->transaction_id;

//check if approved
//check if approved

// if approved insert into sql data base
// if approved insert into sql data base

$query = "INSERT INTO payments (card_num,exp_date) VALUES ('$card_num','$exp_dat')";
        $result = mysql_query($query);

// if approved insert into sql data base
// if approved insert into sql data base

}else{
  echo $response->error_message;
}
}
?>

我正在尝试 运行 付款集成代码,当付款被批准后,我无法将付款详细信息插入 MySQL table。它说:

Undefined variable: exp_dat" " Undefined variable: card_num.

我不确定如何定义它,因为我无法在 $transaction->card_num =$_POST['card_num']; 中将 $ 放在 card_num 之前。

我也无法在其中插入交易 ID。

谢谢

您没有变量 $exp_dat 正如错误所说,您的变量是 $transaction->exp_date_POST['exp_date']

也就是说,请阅读此 link How can I prevent SQL injection in PHP? 并在绑定变量时将其转换为 mysli_ 查询,或使用 PDO。

错误信息非常清楚。

$exp_dat 不存在(但 $transaction->exp_date 存在)

$card_num 不存在(但 $transaction->card_num 存在)

在您的查询中使用这些变量:

$query = "INSERT INTO payments (card_num,exp_date) 
          VALUES ('$transaction->card_num','$transaction->exp_date')";