Guten morgen,
das habe ich auch schon versucht, aber leider klappt das nicht:
Code:
$new_name=mysql_real_escape_string($name);
UPDATE vergleich SET `name` = AES_ENCRYPT('$new_name', '$salt'), `vorname` = AES_ENCRYPT('$vorname', '$salt'), `migriert` = 1 WHERE `id` = $id
Wenn ich mir den Wert mittels echo von $new_name ausgeben lasse bekomme ich eine leere Ausgabe und nicht den Namen mit Escape
Was mache ich falsch?
Ich habe auch versucht die escape-funktion in das mysql-Statement einzufügen, das hatte aber auch nicht geklappt.
Zur genaueren Erläuterung:
Ich habe eine Datenbank in der Namen drin stehen die ohne escape gespeichert wurden. Diese Namen möchte ich mir nun auslesen und mittels AES_encrypt verschlüsselt ablegen.
Dazu öffne ich zuerst die DB:
Code:
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully <br><br><br>";
dann lese ich die DB aus:
Code:
$sql = sprintf("SELECT id, name, vorname, migriert FROM vergleich",mysql_real_escape_string($name));
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$name=$row["name"];
und anschließend will ich Sie wieder verschlüsselt ablegen:
Code:
$new_name=mysql_real_escape_string($name);
$result1 = $conn->query("UPDATE vergleich SET `name` = AES_ENCRYPT('$new_name', '$salt') WHERE `id` = $id and `migriert`=0");
Gruß und Danke für die Hilfe
Tobias