PDA

Voir la version complète : Création de table SQL via PHP ?!


Jeystrash
24/07/2007, 19h12
Bonjour à tous,

Je cherche à créer mes tables SQL via une page en PHP.

Je pense avoir le bon code (ci-dessous), mais rien ne se passe, aucune table n'est crée.

Y aurait-il une restriction mise en place par OVH à ce sujet ? A moins que mon code ne soit faux...


<?php

$connection = mysql_connect("host","user","pwd");
if ( ! $connection )
die ("connection impossible");
$mabasededonnee="bdd";
mysql_select_db($mabasededonnee) or die ("pas de connection");

mysql_query("
CREATE TABLE azerty (
Nom varchar (255) not null,
Email varchar (255) not null,
Tel varchar (255) not null,
Parrain varchar (255) not null
PRIMARY KEY (Nom)
),$connection");

?>

Merci !!

Abogil
24/07/2007, 19h37
Bonjour Jeystrash,

Puis-je te suggérer de faire un tout petit script en PHP test_SQL.php, dans lequel :
- Tu vas ouvrir une connexion à ta base,
- Faire une requête dans une table,
- Fermer ta connexion.

Ce script te permettra, indépendamment de tous tes autres scripts, de voir si ta base de données est accessible ou non et comment créer une table. ;)

test_SQL.php


<?php

error_reporting(E_ALL); // Activer le rapport d'erreurs PHP

// ****** Configuration - Debut ******
$DBhost = "mysql5-6"; // Par exemple
$DBowner = ""; // ton login ftp
$DBpw = ""; // ton password SQL
$DBName = $DBowner;
// ****** Configuration - Fin ******

$fh_db = mysql_connect($DBhost, $DBowner, $DBpw);
$Erreur = mysql_error();
echo " mysql_connect = <b>" . $Erreur . "</b> <br> <br>\n";
if (strlen($Erreur) > 0) exit;

$sel = mysql_select_db($DBName, $fh_db);
$Erreur = mysql_error();
echo " mysql_select_db = <b>" . $Erreur . "</b> <br> \n";

if ($sel) echo " Accès à la DATABASE - '<b>$DBName</b>' : OK <br> <br>";
else echo " ### PB accès à la DATABASE - '<b>$DBName</b>' <br> <br> ";
if (strlen($Erreur) > 0) exit;


// Supression de la table Tab_test_DB

$sql_query="DROP TABLE IF EXISTS `Tab_test_DB` "; // Requête
$result_query=mysql_query($sql_query); // Exécution de la requête
$Erreur = mysql_error();
echo "\$sql_query=<b>$sql_query</b> - \$result_query=<b>$result_query</b> <br> \n";
echo " Supression de la table Tab_test_DB = <b>" . $Erreur . "</b> <br> <br>\n";
if (strlen($Erreur) > 0) exit;

// Création de la table Tab_test_DB

$sql_query="CREATE TABLE `Tab_test_DB` ( `Id` int(11) NOT NULL auto_increment, `NOM` varchar(32) NOT NULL default '', `PRENOM` varchar(32) NOT NULL default '', PRIMARY KEY (`Id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 "; // Requête
$result_query=mysql_query($sql_query); // Exécution de la requête
$Erreur = mysql_error();
echo "\$sql_query=<b>$sql_query</b> - \$result_query=<b>$result_query</b> <br> \n";
echo " Création de la table Tab_test_DB <b>" . $Erreur . "</b> <br> <br>\n";
if (strlen($Erreur) > 0) exit;

// Ajout d'un enregistrement

$sql_query="INSERT INTO `Tab_test_DB` values ('','DURANDAL','Michel') "; // Requête
$result_query=mysql_query($sql_query); // Exécution de la requête
$Erreur = mysql_error();
echo "\$sql_query=<b>$sql_query</b> - \$result_query=<b>$result_query</b> <br> \n";
echo " Ajout d'un enregistrement <b>" . $Erreur . "</b> <br> <br>\n";
if (strlen($Erreur) > 0) exit;

// SELECT dans la table Tab_test_DB

$sql_query="SELECT Id, NOM, PRENOM FROM `Tab_test_DB` WHERE NOM='DURANDAL' "; // Requête
$result_query=mysql_query($sql_query); // Exécution de la requête
$Erreur = mysql_error();
echo "\$sql_query=<b>$sql_query</b> - \$result_query=<b>$result_query</b> <br> \n";
echo " SELECT dans la table Tab_test_DB <b>" . $Erreur . "</b> <br> <br>\n";
if (strlen($Erreur) > 0) exit;

$result_count_row_get = mysql_num_rows($result_query);
$Erreur = mysql_error();
echo " Nombre d'enregistrements trouvés = <b>$result_count_row_get</b> <br> \n";
if (strlen($Erreur) > 0) exit;


// Fermeture de la connexion
mysql_close($fh_db);

?>

Jeystrash
24/07/2007, 20h38
Merci beaucoup de ta réponse !!
Ca m'a beaucoup aidé, j'ai pu créer mes tables avec une partie de ton code.

Merci encore ! ;)

Abogil
24/07/2007, 20h43
Ca m'a beaucoup aidé, j'ai pu créer mes tables avec une partie de ton code.
Mon script sert aussi à cela. :D

Garde quand même à part ce script de test, il te permettra, indépendamment de tous tes autres scripts, de voir si ta base de données est accessible ou non. :p