ich bin ein wenig besorgt über eine meiner mysql-Abfragen ... Die folgende Abfrage empfängt eine Variable $ DB_id ... Wenn eine Zeile mit diesem Primärschlüssel bereits existiert, führt die Abfrage eine Aktualisierung durch.ON DUPLICATE KEY UPDATE ... mit WHERE oder Subselection?
JETZT DAS DING, DAS MICH BETREUT ... Es gibt keine Beziehung, wenn die betroffenen Zeilen tatsächlich dem Benutzer gehören. Ich möchte eine WHERE-Anweisung zum UPDATE-Teil hinzufügen oder zuerst eine Unterzeile der Zeilen erstellen, die betroffen sein dürfen. So etwas wie:
[...]
ON DUPLICATE KEY
UPDATE module_content = '{$content['text']}',
module_index = '{$index}'
WHERE module_post_id = '{$post]}'
Ist das irgendwie möglich ... Bis jetzt i did not eine Lösung finden ... Jede Hilfe sehr geschätzt würde ... VIELEN DANK !!!!!
Saludos Sacha!
Ich weiß ... Aber die IDs werden vom Client übergeben ... also könnte ein Benutzer versuchen, diese Schlüssel zu ändern ... In meinem Fall ist das irgendwie unsicher ... – Bosh
@Bosh - Das ist nicht MySQLs Schuld. Wenn Sie Datenbank-IDs direkt aus einer Abfragezeichenfolge übergeben, ist das Ihre Konstruktionsschwäche. (Warum nicht eine eindeutige textuelle Modulreferenz speichern und diese stattdessen verwenden?) –
Ich weiß ;-) Aufgrund dieses Designfehlers suche ich nach einer Lösung ;-) Eigentlich verschleierte ich die IDs schon, um sie sicherer zu machen, aber es ist keine von den stärksten Algorithmen wegen der Leistung ... Was meinst du genau mit einzigartiger Textbausteinreferenz ... Ich habe gegoogelt aber keine Axplanation gefunden ... Danke! – Bosh