帮我解决此问题,重复输入' IMG002'关键' PRIMARY'。
IMG002仅存储在数据库中而IMG001不存储在数据库中。结果。$ hasilkode总是IMG002。
$carikode = mysql_query("select * from foto") or die (mysql_error());
$datakode = mysql_fetch_array($carikode);
$jumlah_data = mysql_num_rows($carikode);
if ($datakode) {
$nilaikode = substr($jumlah_data[0], 1);
$kode = (int) $nilaikode;
$kode = $jumlah_data + 1;
$hasilkode = "IMG".str_pad($kode, 3, "0", STR_PAD_LEFT);
} else {
$hasilkode = "IMG001";
}
$sql = "INSERT INTO foto (id,gambar,keterangan) values ('$hasilkode','$fileName','".$_POST['kete']."')";
mysql_query($sql) or die (mysql_error());
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
答案 0 :(得分:0)
这意味着您的数据库集中的“id”列似乎是主键(即 - 唯一),您显然正在尝试创建具有重复值的行(在本例中为“IMG002”) )。
答案 1 :(得分:0)
主键必须包含 UNIQUE 值,不能包含NULL 值。
您需要首先检查 hasilkode 是否存在db 如果存在然后执行更新查询,否则执行插入查询< /强>
其他方式是您可以为商店 hasilkode 添加新列,并将自动增量设置为id列,然后执行插入查询。