Php 无法从mysql表中检索数据
我正在将paypal支付信息插入“payments”表中。该表的结构如下:Php 无法从mysql表中检索数据,php,mysql,Php,Mysql,我正在将paypal支付信息插入“payments”表中。该表的结构如下: CREATE TABLE `payments` ( `payment_id` int(11) NOT NULL AUTO_INCREMENT, `txn_id` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `payment_gross` float(10,2) NOT NULL, `currency_code` varchar(5) COLLATE utf8_un
CREATE TABLE `payments` (
`payment_id` int(11) NOT NULL AUTO_INCREMENT,
`txn_id` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`payment_gross` float(10,2) NOT NULL,
`currency_code` varchar(5) COLLATE utf8_unicode_ci NOT NULL,
`payment_status` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`payer_email` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`payment_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
include 'config/database.php';
include 'DBController.php';
file_put_contents("log.txt", print_r($_POST, true));
//Get payment information from PayPal
//$id = isset($_GET['id']) ? $_GET['id'] : '';
//$txn_id= isset($_GET['tx']) ? $_GET['tx'] : '';
//$payment_gross = isset($_GET['amt']) ? $_GET['amt'] : '';
//$currency_code = isset($_GET['cc']) ? $_GET['cc'] : '';
//$payment_status = isset($_GET['st']) ? $_GET['st'] : '';
//$txn_id = $_GET['tx'];
//$payment_gross = $_GET['amt'];
//$currency_code = $_GET['cc'];
//$payment_status = $_GET['st'];
$txn_id = $_POST['txn_id'];
$payment_gross = $_POST['mc_gross'];
$currency_code = $_POST['mc_currency'];
$payment_status = $_POST['payment_status'];
$payer_email = $_POST['payer_email'];
$item_name = $_POST['item_name'];
$item_number = $_POST['item_number'];
$receiver_email = $_POST['receiver_email'];
file_put_contents("log1.txt", print_r($txn_id, true));
if(!empty($txn_id))
{
$db = new DBController();
//Check if payment data exists with the same TXN ID.
$param_type="s";
$param_value_array = array($txn_id);
$paymentResult = $db->runQuery1("SELECT payment_id FROM payments1 WHERE txn_id = ?",$param_type,$param_value_array);
if(!$paymentResult== 0)
付款已成功保存。我想从重定向到“success.php”页面时从paypal收到的txn_id上的同一个表中检索信息。我使用的代码如下所示:
CREATE TABLE `payments` (
`payment_id` int(11) NOT NULL AUTO_INCREMENT,
`txn_id` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`payment_gross` float(10,2) NOT NULL,
`currency_code` varchar(5) COLLATE utf8_unicode_ci NOT NULL,
`payment_status` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`payer_email` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`payment_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
include 'config/database.php';
include 'DBController.php';
file_put_contents("log.txt", print_r($_POST, true));
//Get payment information from PayPal
//$id = isset($_GET['id']) ? $_GET['id'] : '';
//$txn_id= isset($_GET['tx']) ? $_GET['tx'] : '';
//$payment_gross = isset($_GET['amt']) ? $_GET['amt'] : '';
//$currency_code = isset($_GET['cc']) ? $_GET['cc'] : '';
//$payment_status = isset($_GET['st']) ? $_GET['st'] : '';
//$txn_id = $_GET['tx'];
//$payment_gross = $_GET['amt'];
//$currency_code = $_GET['cc'];
//$payment_status = $_GET['st'];
$txn_id = $_POST['txn_id'];
$payment_gross = $_POST['mc_gross'];
$currency_code = $_POST['mc_currency'];
$payment_status = $_POST['payment_status'];
$payer_email = $_POST['payer_email'];
$item_name = $_POST['item_name'];
$item_number = $_POST['item_number'];
$receiver_email = $_POST['receiver_email'];
file_put_contents("log1.txt", print_r($txn_id, true));
if(!empty($txn_id))
{
$db = new DBController();
//Check if payment data exists with the same TXN ID.
$param_type="s";
$param_value_array = array($txn_id);
$paymentResult = $db->runQuery1("SELECT payment_id FROM payments1 WHERE txn_id = ?",$param_type,$param_value_array);
if(!$paymentResult== 0)
返回0行。请注意,货币很少是浮动的;这就是发明十进制的原因,但如果我只选择payment id only,那么我也无法检索任何内容。@如果id和status字段是255个长字符串,那么strawberrylook就好像数据库设计出了问题……您的表是payments1还是payments@james你能给plz硼酸吗