vendredi 27 juillet 2007

PHP+mySQL

On suppose que l'on a une table 'code_postal' avec les champs 'code' et 'nom' dans une base de données locale...


<html>
<head>
<title>Simple Test mySQL/PHP</title>
</head>
<body>
<h1>Le plus simple...</h1>
<?php
$link = mysql_connect("localhost", "nom_utilisateur", "mot_de_passe");
mysql_select_db("nom_base_de_donnee", $link) or die(mysql_error());
$query = "SELECT * FROM `code_postal` order by 'nom'";
$result = mysql_query($query, $link) or die($query . " - " . mysql_error());

$nbResults = mysql_num_rows($result);
echo "Nombre de lignes : ". $nbResults;
echo "<br /><br />";

while ($tab = mysql_fetch_array($result))
{
echo $tab['code']." - ".$tab['nom'];
echo "<br />";
}
mysql_close($link);
?>
</body>
</html>


NB: Pour des raisons pratiques et de sécurité, il est préférable de mettre les paramètres 'user', 'password' et 'database' dans un fichier inclu, inaccessible via le web:


<-- fichier "messecrets.inc" -->
<?php
$db_user="monlogin";
$db_password="monmotdepasse";
$db_name="mabasededonnees";
?>

et de faire un

<?php
include("messecrets.inc");
?>


Pour créer un utilisateur sur mySQL, on peut simplement faire :

mysql -p -u root
mysql> grant select on mabasededonnee.* to monlogin@localhost identified by 'monmotdepasse';


Où 'root' est le super-utilisateur mySQL (ou, quelqu'un ayant les privilèges suffisants pour faire un 'grant select' sur 'mabasededonnee').

Aucun commentaire: