我在我构建的网站的调试过程中遇到了困难,我可以使用一些帮助。
该网站是一个固定价格的工作(fiverr like)网站。因此,“买方”从“卖方”购买工作并在线支付金额。这些钱暂时停留在网站的paypal账户中。因此,当工作完成后,卖方可以“提取”这笔钱,管理员必须将它们转移到卖方的paypal账户。
以下是我在卖家的PayPal帐户管理员完成“转账”过程后我在浏览器中收到的消息,并使用“返回商家”PayPal按钮返回网站。
这个SQL查询可能有什么问题?
CHECK_QUERY insert into `ninerr_admin_order_payment`
(`order_status_date`,`mc_gross`,`protection_eligibility`,`address_status`,`payer_id`,`tax`,`address_street`,`payment_date`,`payment_status`,`charset`,`address_zip`,`first_name`,`address_country_code`,`address_name`,`notify_version`,`custom`,`payer_status`,`business`,`address_country`,`address_city`,`quantity`,`payer_email`,`verify_sign`,`txn_id`,`payment_type`,`payer_business_name`,`last_name`,`address_state`,`receiver_email`,`receiver_id`,`pending_reason`,`txn_type`,`item_name`,`mc_currency`,`item_number`,`residence_country`,`test_ipn`,`transaction_subject`,`handling_amount`,`payment_gross`,`shipping`,`merchant_return_link`)
VALUES ('2011:03:22','4.00','Ineligible','confirmed','7BV3JALNZYV2W','0.00','1 Main St','12:26:51 Mar 22, 2011 PDT','Pending','windows-1252','95131','Panayiotis','US','Panayiotis Kolevris's Test Store','3.1','','unverified','panayk_1299455633_per@otenet.gr','United States','San Jose','1','panayk_1299526871_biz@otenet.gr','AFcWxV21C7fd0v3bYYYRCpSSRl31AIaMVYBqWOK51ttsVWF3i1gzorhH','9E090982RT6501508','instant','Panayiotis Kolevris's Test Store','Kolevris','CA','panayk_1299455633_per@otenet.gr','DC4DA8HA7Y4U2','verify','web_accept','Withdraw','EUR','1','US','1','Withdraw','0.00','','0.00','Return to Merchant')
产生上述结果的动态代码是:
function dataInsert($table,$dataArray){
$fldArray=$dataArray;
$i=0;
$j=0;
$sql.="insert into `".$table."` (";
while (list($key1, $value1) = each ($fldArray)) {
$sql.="`".$key1."`";
$j++;
if($j!=count($fldArray)){
$sql.=",";
}
if($j==count($fldArray)){
$sql.=") VALUES (";
}
}
while (list($key1, $value1) = each ($dataArray)) {
$sql.="'".$value1."'";
$i++;
if($i!=count($dataArray)){
$sql.=",";
}
if($i==count($dataArray)){
$sql.=")";
}
}
mysql_query($sql) or die(CHECK_QUERY.$sql);
$id=mysql_insert_id();
return $id;
}
提前致谢
答案 0 :(得分:1)
由于数据引用,您在INSERT INTO上遇到错误:
'Panayiotis Kolevris's Test Store'
要解决此问题,请尝试添加mysql_escape_string( )
:
while (list($key1, $value1) = each ($dataArray)) {
$sql.= mysql_escape_string( $value1 );
$i++;
if($i!=count($dataArray)){
$sql.=",";
}
if($i==count($dataArray)){
$sql.=")";
}
<强>更新强>
但是,在$dataArray
上的数据似乎已经被quote(')包装。因此,您必须先将数据转义为$dataArray
。
答案 1 :(得分:0)
数据库返回什么?哪个错误?
尝试在PHP中使用以下说明并使用输出
error_reporting(E_ALL);
ini_set('display_errors', true);