Ben tu peux déjà balancer une requête bidon style :
et tester le code d'erreur retour s'il y en a un de retourné (errno: 2). C'est le premier truc qui vient à l'esprit après tout, même si c'est un moyen détourné.
Ensuite, j'ai tapé "test existence table mysql" dans Google (note que tu aurais pu le faire aussi) et je suis tombé là-dessus :
http://www.commentcamarche.net/forum/af ... -une-table
Avec ce code notamment :
function mysql_table_exists($table , $db) {
$tables=mysql_list_tables($db);
while (list($temp)=mysql_fetch_array($tables)) { if($temp == $table) { return 1; } }
return 0;
}
Je n'ai pas testé mais ça me semble pas mal non ?
Mmmm en fait non, pas tant que ça, parceque après je suis allé voir dans la doc PHP (ce que tu aurais sûrement fait tout seul mais j'étais lancé...) et j'ai vu ceci :
Cette fonction est dépréciée. Il est préférable d'utiliser la fonction mysql_query() pour effectuer la requête SQL SHOW TABLES [FROM db_name] [LIKE 'pattern'] à la place.
Et voilà, Google, puis la documentation, t'ont apporté ta réponse. Ce sera souvent le cas dans le futur, j'en suis certain
Pour ce qui est de la création, voici ce qu'indique la doc comme structure possible :
Code : Tout sélectionner
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[(create_definition,...)]
[table_options] [select_statement]
On dirait bien que là-dedans il y a quelquechose pour faire ça proprement.