Die ersten beiden Beispiele erzeugen genau den selben Query.
"SELECT * FROM test WHERE name='Hello world'";
"SELECT * FROM test WHERE name=\"Hello world\"";
Wenn du Einzelanführungszeichen verwendest wie im 3. Beispiel
'SELECT * FROM test WHERE name="$myVariable"';
wird PHP den Inhalt der Zeichenkette wortwörtlich interpretieren, ohne Variablen oder Escape-Zeichen zu analysieren. In diesem speziellen Beispiel würde es immer noch funktionieren, weil es keine Variablen oder Escape-Zeichen gibt. Aber in komplexeren Szenarien, in denen du Variablen in den SQL-String einfügen möchtest, könnten sich die Verwendung von Doppelanführungszeichen als praktischer erweisen.