PHP are trei moduri diferite prin care se poate conecta si interactiona cu baza de date MySQL : extensia MySQL originala (cu functii), MySQL Improved (MySQLi, obiect-orientat), sau PHP Data Objects (PDO, obiect-orientat).
Ele nu pot fi amestecate in acelasi script. Extensia originala MySQL nu mai este activ dezvoltata si nu este recomandat pentru proiecte PHP-MySQL noi.
Documentatia PHP descrie MySQLi ca fiind optiunea preferata recomandata de MySQL pentru proiecte noi.
$conn = new mysqli($servername, $username, $password, $database, $port);- $servername - Specifica serverul la care sa se conecteze. Daca adaugati valoarea NULL sau un sir gol "", serverul va folosi valoarea standard: "localhost".
<?php // conectare la server $conn = new mysqli('localhost', 'root', 'pass', 'dbname'); // verifica conexiunea if (mysqli_connect_errno()) { exit('Connect failed: '. mysqli_connect_error()); } ?>- Aceast cod face conectarea la baza de date numita "dbname", si stocheaza conexiunea in instanta de obiect $conn.
<?php // conectare la server $conn = new mysqli('localhost', 'root', 'pass', 'dbname'); // verifica conexiunea if (mysqli_connect_errno()) { exit('Connect failed: '. mysqli_connect_error()); } // ceva cod $conn->close(); // termina conectarea // alt cod PHP ?>
CREATE DATABASE database_namePentru a face un script PHP sa execute instructiunile SQL, mai intai trebuie sa creati o instanta de obiect mysqli, care va contine conexiunea la server, apoi folositi metoda query() din clasa MySQLi.
mysqliObj->query($sql_query)- mysqliObj - este instanta de obiect mysqli, creata cu new mysqli()
<?php // conectare la serverul MySQL $conn = new mysqli('localhost', 'root', 'pass'); // verifica conexiunea if (mysqli_connect_errno()) { exit('Conectare nereusita: '. mysqli_connect_error()); } // interogare sql cu CREATE DATABASE $sql = "CREATE DATABASE `tests` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"; // executa interogarea $sql pe server pentru a crea baza de date if ($conn->query($sql) === TRUE) { echo 'Baza de date "tests" a fost creata'; } else { echo 'Error: '. $conn->error; } $conn->close(); ?>- Cand doriti sa creati o noua baza de date, se adauga doar primele trei argumente la obiectul mysqli (servername, username si password). Dar daca vreti sa folosesti un port specific, adaugati un sir gol "" pentru argumentul ce reprezinta numele bazei de date :
Comenzile SQL sunt case-insensitive, astfel puteti folosi "CREATE DATABASE" sau "create database". Dar numele tabelelor si coloanelor sunt case-sensitive.
CREATE TABLE `table_name` ( `nume_coloana1` tip_date, `nume_coloana2` tip_date, `nume_coloana3` tip_date, .... )- tip_date specifica tipul de date pe care o coloana le poate contine. Pentru o lista cu tipurile de date MySQL, vedeti lectia precedenta: PHP MySQL - Introducere si Tipuri de date.
<?php // conectare la serverul MySQL $conn = new mysqli('localhost', 'root', 'pass', 'tests'); // verifica conexiunea if (mysqli_connect_errno()) { exit('Connect failed: '. mysqli_connect_error()); } // interogare sql pentru CREATE TABLE $sql = "CREATE TABLE `users` ( `id` INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(25) NOT NULL, `pass` VARCHAR(18) NOT NULL, `email` VARCHAR(45), `reg_date` TIMESTAMP ) CHARACTER SET utf8 COLLATE utf8_general_ci"; // Executa interogarea $sql query pe server pentru a crea tabelul if ($conn->query($sql) === TRUE) { echo 'Table "users" successfully created'; } else { echo 'Error: '. $conn->error; } $conn->close(); ?>- Acest cod va crea un tabel numic "users" in baza de date "tests", cu cinci coloane (id , name , pass , email si reg_date), seteaza coloana 'id' ca campul primary key.
In comenzile SQL este recomandat ca numele de tabel si coloane sa fie adaugat intre apostrof ` ` (caracterul de langa butonul cu numerul 1 pe tastatura). Aceasta este sintaxa corecta dar nu este strict necesara.
<table><tr> <th>Title 1</th> <th>Title 2</th> </tr></table>
.some_class { line-height: 150%; }
document.getElementById("id_button").onclick = function(){ window.open("http://coursesweb.net/"); }
$ar_dir = scandir("dir_name"); var_export($ar_dir);
He will sleep there. - El va dormi acolo.
Él dormirá allí. - El va dormi acolo.