ben la regle est variable selon les langage, mais en général si on défini une chaine de caractère " et ' sont équivalent, par contre si on commence une chaine avec ", on la termine avec ", idem pour '
par exemple
sql="INSERT INTO mailslog (id, date, type) VALUES(NULL, "azertyui", "qsdfghjk");"
sql vaut INSERT INTO mailslog (id, date, type) VALUES(NULL,
et ensuite il y a l'instruction azertyui", "qsdfghjk");" qui provoque une erreur bash
sql="INSERT INTO mailslog (id, date, type) VALUES(NULL, 'azertyui', 'qsdfghjk');"
sql vaut INSERT INTO mailslog (id, date, type) VALUES(NULL, 'azertyui', 'qsdfghjk');
car les ' n'arretes pas une chaine commencé avec "
on aurait aussi pu mettre
sql='INSERT INTO mailslog (id, date, type) VALUES(NULL, "azertyui", "qsdfghjk");'
car les " n'arrete pas une chaine commencé avec '
ou encore
sql="INSERT INTO mailslog (id, date, type) VALUES(NULL, \"azertyui\", \"qsdfghjk\");"
car les " sont échapé, et donc ne compte pas pour arreté la chaine
(cette dernière écriture est intéréssante si il y a des apostrophes dans les données à utiliser)