2015-01-17 2 views
0

바운드 변수를 사용하는 쿼리에서 레코드를 삭제하려고 할 때 문제가 있습니다. PDO로 옮기기 전에 작동했습니다.pdo를 사용하여 쿼리에서 전달 변수를 삭제합니다.

<?php 
require_once "konversi.php"; 

$server="localhost"; 
$user="root"; 
$password=""; 
$db_personalia="personalia"; 

try{ 
$id_mysql=new PDO("mysql:host=$server;dbname=$db_personalia",$user,$password); 
}catch (PDOException $e) { 
echo $e->getMessage("MySQL Error"); 
} 

//Get code passed by user 
$kode = $_GET['kode']; 
if (empty($kode)) 
die("Invalid"); 

//convert value 
$kode = turn_text($kode); 

//value in variable 
$kode=$_GET['kode']; 

try{ 
$sql=$id_mysql->prepare("delete from member where nip =:kode"); 
$sql->bindValue(':kode',$kode); 
$sql->execute(); 
}catch (PDOException $e) 
{ 
print ("The statement failed.\n"); 
print ("getCode: ". $e->getCode(). "\n"); 
print ("getMessage: ".$e->getMessage(). "\n"); 
} 

$id_mysql=null; 
?> 
+0

당신의 다음 줄에 var에 $의 KODE를 오버라이드 (override)하는 경우

  • 나는 방법 turn_text은() 코드에서 무엇을 알고 있지만 쓸모가 없습니다 .. – WillardSolutions

  • +0

    @EatPeanutButter'new PDO'가 ... – MightyPork

    +0

    우리에게 말해 줄 구체적인 오류 메시지가 있습니까? 또는 테이블 구조, 내용 및'$ kode '값. – mario

    답변

    1

    내가하고있는 것을 정말로 이해하지 못하는 것이 있습니다. 이 부분 : 그래서

    $kode = $_GET['kode']; 
    if (empty($kode)) 
    die("Invalid"); 
    //convert value 
    $kode = turn_text($kode); 
    
    //value in variable 
    $kode=$_GET['kode']; 
    

    오해 여기에있을 수있는 것을 생각하자 :

    1. $ _GET [ 'KODE는'] 정의되지 및 SQL에 해당 열에 NULL NOT 선언 . 또한 empty() 메소드는 배열을위한 것이다. 대신 isset() 메서드를 사용하십시오. 이 PDO되지 않습니다 :

    관련 문제