What does the meaning of colon mark in this mysql statement?

Hello! According to the following code,what does the meaning of colon mark in this statement:
“INSERT INTO users (username, password) VALUES ( :username, : password )”;
code:

 $username = $_POST["username"];
$password = $_POST["password"];
 
// create connection to database
// ...
 
// sanitize the inputs
// ...
 
// create an MD5 hash of the password
$password = md5($password);
 
// save the values to the database
$sql = "INSERT INTO users (username, password) VALUES (:username, :password)";
 
$stmt = $db->prepare($sql);
 
$stmt->execute(array(
    ":username" => $username,
    ":password" => $password
));

That is not a MySQL statement but a PDO one.

The :username is a placeholder? and when the query is run it is replaced by the value in “:username” => $username,

You should be converting all your MySQL code to pdo or Mysqli now as MySQL is being depreciated.

It is worth noting that the colon is optional in your array keys so this will also work:


$stmt->execute(array(
    "username" => $username,
    "password" => $password
));