使用pdo删除查询中的传递变量

时间:2015-01-17 20:24:02

标签: php mysql 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;
?>

1 个答案:

答案 0 :(得分:1)

有些事我不明白你想要做什么。 这部分:

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

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

所以让我猜一下这里可能出现的问题:

  1. $ _GET [&#39; kode&#39;]未定义,在SQL中,您在该列上声明了NOT NULL。 empty()方法也适用于数组。相反,请使用isset()方法。

  2. 我不知道你的代码中turn_text()方法的作用,但是如果你在下一行中删除了var $ kode,它就没用了:)