很奇怪。我看不出这里出了什么问题。已经建立了与MySQL数据库的连接,但它不会从PHP中插入。如果我在Phpmyadmin中运行查询,那很好。
$rawquery = "
INSERT INTO $log_table_name
(ref, timestamp, txn_id, email, item_name, item_number, custom, mc_gross, mc_currency, paypal_message)
VALUES
(NULL, CURRENT_TIMESTAMP, '$txn_id', '$payer_email', '$item_name', '$item_number', '$custom', '$payment_amount', '$payment_currency', 'INVALID');
";
echo $rawquery;
$query = mysql_query($link, $rawquery) or die('Could not access table');
产地:
INSERT INTO wp_ipn_log
(ref, timestamp, txn_id, email, item_name, item_number, custom, mc_gross, mc_currency, paypal_message)
VALUES
(NULL, CURRENT_TIMESTAMP, '', '', '', '', '', '', '', 'INVALID');Could not access table
我期待INVALID消息,我只想将它插入数据库。
问题是查询的格式,还是数据库存在问题,还是其他什么问题?
附加信息(根据vinodadhikary的要求):
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db(DB_NAME, $link) or die ("Could not open db ".mysql_error());
这很好。
答案 0 :(得分:2)
尝试调试代码时,在die()
中使用mysql_error()
/ mysqli_error($link)
而不是通用字符串die('Could not access table')
会很有帮助。
另外,mysql / mysqli中的查询/链接顺序不一样
mysql_query
为mysql_query(query,link)
,因此您的代码应为
$query = mysql_query($rawquery,$link) or die(mysql_error());
mysqli_query
为mysqli_query(link, query)
,因此您的代码应为
$query = mysqli_query($link, $rawquery) or die(mysqli_error($link));
答案 1 :(得分:0)
需要检查一下这个,
1 - ref字段名称是否允许NULL?
2 - paypal_message检查是这个varchar或文本和检查长度也在数据库中?
3 - 您可以尝试从每个值中删除''。
4 - 允许最后一次空检查?
您可以尝试使用某些示例值而不是空值。检查该查询是否有效,以便您可以近距离寻找解决方案。
希望这些事能对你有所帮助
感谢