我想从使用以下查询的记录中删除记录时遇到问题
绑定变量。在我搬到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;
?>

最佳答案

我确实不太了解您要做什么。
这部分:

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

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


因此,让我猜测这里可能出了什么问题:


$ _GET ['kode']未定义,在您的SQL中,您在该列上声明了NOT NULL。同样,empty()方法也适用于数组。而是使用isset()方法。
我不知道方法turn_text()在您的代码中做什么,但是如果您在下一行中覆盖var $ kode,则该方法无用:)

10-06 14:20