Hi!
$sql = "INSERT INTO tabelle (id, ...) VALUES ( MD5(:paramA.:paramB), ...)";
Ein . ist kein Operator in MySQL. Er wird nur für Bezeichner-Qualifizierungen verwendet.
Der MD5-Hash ist der gleiche, egal ob ich die Variablen an Parameter binde oder ob ich die Werte direkt ins SQL-Statement schreibe.
Bei welcher Operation genau und wie lautet der Hash? Das Ergebnis von MD5(0) und MD5('foo' + 'bar') ist übrigens beides Mal cfcd208495d565ef66e7dff9f98764da. Kannst du dir denken warum?
Auch wenn ich die CONCAT-Funktion
$sql = "INSERT INTO tabelle (id, ...) VALUES ( MD5( CONCAT(:paramA, :paramB)), ...)";
nehme ergibt das den gleichen Hash.
Es müssen dann aber auch bei unterschiedlichen angebunden Wert verschiedene Hashes entstehen.
Lo!