2014-01-26 4 views
0

내가,이 내가 데이터를 전송하는 방법입니다 페이팔에서 IPN 사용하고 페이팔 :PHP/PDO 문을 준다 "0"

require_once '../classes/Crypt.php'; 

$crypt = new Crypt(); 
$crypt->Mode = Crypt::MODE_HEX; 
$crypt->Key = '§$TERGERG§$T§34t'; 

$custom = unserialize($crypt->decrypt($_POST["custom"])); 

$username = $custom['username']; 

try 
{ 
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $stmt = $dbh->prepare("INSERT INTO products (product_name) 
            VALUES (?)"); 
    $stmt->bindParam(1, $value1); 

    $value1 = $username; 

    $stmt->execute(); 
} 
catch(PDOException $exception) 
{ 
    $body .= "Error: " . $exception->getMessage() . "\n"; 
} 
:

require_once 'classes/Crypt.php'; 

$crypt = new Crypt(); 
$crypt->Mode = Crypt::MODE_HEX; 
$crypt->Key = '§$TERGERG§$T§34t'; 

$test = array('cmd'=>'_xclick', 
       'business'=>'meine_email', 
       'notify_url'=> 'url_zum_ipn', 
       'item_name'=>'name', 
       'amount'=>'1.00', 
       'currency_code'=>'USD', 
       'lc'=>'US', 
       'custom'=>$crypt->encrypt(serialize(array("username" => $username)))); 

       $url = "https://www.sandbox.paypal.com/cgi-bin/webscr?".http_build_query($test); 
       header("Location:".$url); 
       exit(); 

이 내가 내 IPN 스크립트에서 데이터를 처리하는 방법이다

더 삽입 내 테이블에 없지만,이 메시지 :

Error: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 
'product_name' cannot be null 

내가 변수 $ 사용자 이름은 처음에 보낼 경우, 그것이 확인! 내가이와 IPN-스크립트에서 변수 $ 이름을 확인할 때 는하지만 :

if($username == "") { // gives true 

그래서 사람이 어디에 내 잘못된 코드 아는 사람? 인사말!

+0

코드 –

답변

0

는 교체로

$stmt = $dbh->prepare("INSERT INTO products (product_name) 
           VALUES (?)"); 
$stmt->bindParam(1, $value1); 

$value1 = $username; 

$stmt->execute(); 

:

$stmt = $dbh->prepare("INSERT INTO products(product_name) VALUES(:productName)"); 
$stmt->execute([':productName' => $username]); 
+0

그래 그런데 왜이 부분이 참 부여합니다 포맷하세요? : if ($ username == "") – user3235284