Sicher kannst du das. Dein XAMPP hat einen MySQL-Server an Board, bzw. MariaDB-Server in der aktuellen Version. 

MySQL hat eine ausgezeichnete Benutzerverwaltung. Du kannst verschiedenen Benutzern unterschiedliche Rechte auf einzelne Datenbanken geben und sogar unterschiedliche Rechte von verschiedenen Hosts festlegen.

XAMPP bringt auch das Paket PhpMyAdmin mit, damit kannst du im Tab "Benutzerkonten" user und deren Rechte genau verwalten. Du kannst festlegen, ob user nur aus der Datenbank lesen oder auch schreiben können, Strukturänderungen vornehmen dürfen oder nicht und noch viel mehr. Schau mal rein, dann bekommst du eine Idee, was machbar ist.

Der user root ist besonders und wird bereits bei der Installation angelegt. Er sollte lediglich lokal auf den Datenbankserver zugreifen dürfen und administrativen Zwecken dienen. Root solltest du nicht benutzen um produktive Datenbanken anzusprechen, dazu lege separate user an.

Das besondere an MySQL ist, dass für jeden Benutzer auch festgelegt wird, von welchem host er auf den Server zugreift:

user: xyz ->localhost kann ganz andere Rechte bekommen als ein gleichnamiger user z. B.
user: xyz ->192.168.1.2

Was sonst zu beachten ist, hängt von deinen genauen Anforderungen ab, dazu kann man aus der Ferne nicht viel sagen. 

...zur Antwort

Vorausgesetzt ich verstehe dich richtig und deine Tabelle sieht etwa so aus:

CREATE TABLE `namen` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(45),
`code` varchar(45),
PRIMARY KEY (`ID`)
);

dann solltest du hiermit zum Ziel kommen:


SELECT
if(name != @temp , @rownum := 1, @rownum := @rownum + 1) AS nm,
@temp := name AS temp,
name,
code,
concat(name, '_', @rownum)
FROM (SELECT @rownum := 0) AS ROWNUM, namen
ORDER BY name;

Ich ermittle alle Datensätze der Tabelle und sortiere nach Namen, jetzt bilden alle Datensätze mit gleichen Namen einen Block. Die Variable rownum wird einfach bei jedem Datensatz hochgezählt, aber nur, wenn sich der Namen ändert, sonst wieder auf 1 zurück gesetzt. Daher speichere ich auch den gerade ermittelten Namen in der Variablen temp zwischen.

Naja und concat setzt dir einfach den Namen neu zusammen, so wie du es beschrieben hast.



...zur Antwort

Das ist kein Geheimnis. Mit PHP liest du zuerst die Daten aus deiner MySQL und setzt dir dann einen String zusammen, der aus einem HTML a-Tag und den ermittelten Daten besteht. So etwa:

<?php

$db = new mysqli('Servername', 'Benutzer', 'Passwort', 'Datenbank');

$sql = "SELECT Fragetext FROM FrageTabelle WHERE id=53";
$result = $db->query($sql);
$row = $result->fetch_object();

print 'hatetepe : die domain de/'.$row->Fragetext;
?>

Den a-tag kannst du natürlich auch im String unterbringen, ich mußte ihn leider entfernen, weil meine Antwort sonst nicht akzeptiert wird. 

Beachte aber, dass eine url genormt ist und z.B. Sonderzeichen gesondert behandelt werden müssen. Datenbankzugriffe mit PHP realisierst du am Besten mit MySQLi oder PDO, mehr dazu findest du in der Doku auf php dot net

...zur Antwort