Eine Analogie zu meinem Problem, So habe ich eine Tabelle namens sample_table, es hat 1 Feld namens Eingabe. Die sample_table hat 2 Datensätze, "A" und "B". Mein Programm kann eines der beiden aktualisieren, und es gibt eine Validierung. Wenn ich "B" zu "A" ändere, wird es ungültig, (A ist bereits vorhanden). Gleiches bei Änderung von "A" nach "B" (B ist bereits vorhanden). Diese Validierung funktioniert, weil ich vor der Aktualisierungsabfrage eine Auswahlabfrage mache und überprüfe, ob der Wert bereits existiert, und wenn kein Wert existiert, wird eine Aktualisierung stattfinden. Das Problem ist, wenn ich "B" in Kleinbuchstabe "b" aktualisiere, validiert mein Programm und erkennt, dass B bereits existiert. Wie kann ich B nach b aktualisieren? Das ist es, was ich will.Was ist der richtige Ablauf für mein Programm?
Meine Codes
<?php
function update()
{
$sup_id = $_POST['flavor_id'];
$flavor_name = $_POST['flavor_name2'];
$flavor_name = trim($flavor_name);
$sql = "update flavor set flavor_name = :flavor_name where id = :sup_id";
$stmt = "SELECT * FROM flavor WHERE flavor_name=:flavor_name";
try
{
$STM2= $conn -> prepare($stmt);
$STM2->bindparam(":flavor_name", $flavor_name);
$STM2 -> execute();
$row=$STM2->fetch(PDO::FETCH_ASSOC);
if(strtolower($row['flavor_name'])==strtolower($flavor_name))
{
echo " <p class=failed> Flavor is already existing </p>";
}
else
{
$STM = $conn -> prepare($sql);
$STM->bindparam(":sup_id", $sup_id);
$STM->bindparam(":flavor_name", $flavor_name);
$STM -> execute();
echo " <p class=success> Flavor Updated</p> "; }
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
?>
Zeigen Sie Ihren Code. Ich habe eine fundierte Vermutung, was das Problem ist, aber wenn Sie Ihren Code zeigen, können die Leute einen konkreten Rat geben, anstatt zu raten. – Jason
@Leon Flow Bitte erläutern Sie, wenn Sie die beiden Werte i: e Großbuchstaben 'B' und Kleinbuchstaben 'b' in der Tabelle behalten möchten? – Omer
Ich kann einen Datensatz aktualisieren, solange die eingegebenen Daten nicht vorhanden sind. Aber was, wenn ich nur den Fall ändern möchte? –