PHP Coding Standard |
Wenn sich ein Projekt weiterentwickelt, werden oft Änderungen an der Datenbank notwendig. Um zu verhindern, dass jeder INSERT fehlschlägt, werden die Spalten explizit ausgewiesen und über VALUES dann mit Inhalten belegt.
$insert_user_login = 'INSERT INTO mysql.user VALUES ("localhost", "' . $mysql_user . '", PASSWORD("top_secret"))';
Wenn die Tabelle erweitert wird und dann mehr als drei Spalten enthält, gibt MySQL den Fehler "Column count doesn't match value count at row 1" zurück. Deswegen sollte man anders vorgehen.
$insert_user_login = 'INSERT INTO mysql.user (Host, User, Password) VALUES ("localhost", "' . $mysql_user . '", PASSWORD("top_secret"))';
Wie man sehen kann, werden genau die drei Spalten angegeben, die befüllt werden sollen. Warum man einen String in PHP mit Hochkommata definieren sollte, wird in den Empfehlungen erklärt.