MySQLi et php
Par llwynrt le vendredi, mars 6 2015, 14:52 - Lien permanent
define('MYSQL_SERVEUR', 'localhost'); define('MYSQL_UTILISATEUR', 'root'); define('MYSQL_MOTDEPASSE', ''); define('MYSQL_BASE', 'test'); //connexion à la base MySQL $mysql = new MySQLi(MYSQL_SERVEUR, MYSQL_UTILISATEUR, MYSQL_MOTDEPASSE, MYSQL_BASE); /* Vérification de la connexion */ if ($mysqli->connect_errno) { die("Echec de la connexion : %s\n", $mysqli->connect_error); } //configuration du charset $mysqli->set_charset("utf8"); //Requête SQL ne retournant pas de résultat (ex: CREATE TABLE, INSERT, UPDATE, etc.) $sql = 'CREATE TABLE IF NOT EXISTS blog (login VARCHAR(64) ,message TEXT ,dateheure DATETIME)'; $mysql->query($sql); $sql = 'INSERT INTO blog (login, message, dateheure) VALUES(\'phpfacile\', \'Tuto MySQL\', NOW())'; $mysql->query($sql); //Requête SQL retournant des résultats (ex: SELECT) $sql = 'SELECT * FROM blog'; $res = $mysql->query($sql); while ($row = $res->fetch_array()) { echo $row['login'].':'.$row['dateheure'].':'.$row['message'].'<br />'."\n"; } //nombre de lignes $res->num_rows; // Se protéger des injections SQL $city = $mysqli->real_escape_string($city); $mysqli->query("INSERT into myCity (Name) VALUES ('$city')"); //Requête préparée $stmt = $mysqli->prepare("INSERT INTO test(id) VALUES (?)"); $stmt->bind_param("i", $id); $stmt->execute(); $stmt->close(); //libération des résultats $res->free(); //déconnexion de la base MySQL $mysql->close(); /*fetch_array() : Le second argument optionnel est une constante indiquant quel type de tableau doit être renvoyé à partir de la ligne de données courante. Les valeurs possibles pour ce paramètre sont les constantes MYSQLI_ASSOC, MYSQLI_NUM, et MYSQLI_BOTH. En utilisant la constante MYSQLI_ASSOC, cette fonction se comportera comme la fonction mysqli_fetch_assoc(), tandis que MYSQLI_NUM la fera agir comme la fonction mysqli_fetch_row(). La constante MYSQLI_BOTH, créera elle un tableau qui sera à la fois associatif et indexé numériquement.*/