PHP heeft een uitgebreide verzameling ingebouwde functies voor het manipuleren van MySQL-databases.
De PHP mysql connect functie wordt gebruikt om verbinding te maken met een MySQL databaseserver.
Het heeft de volgende syntaxis.
<? Php $db_handle = mysqli_connect($db_server_name, $db_user_name, $db_password); ?>
De functie mysqli_select_db wordt gebruikt om een database te selecteren.
Het heeft de volgende syntaxis.
<? Php mysqli_select_db($db_handle, $database_name); ?>
De mysqli_query functie wordt gebruikt om SQL query's uit te voeren .
De functie kan worden gebruikt om de volgende querytypen uit te voeren;
Het heeft de volgende syntaxis.
<? Php mysqli_query($db_handle, $query); ?>
De functie mysqli_num_rows wordt gebruikt om het aantal rijen te krijgen dat wordt geretourneerd door een geselecteerde query.
Het heeft de volgende syntaxis.
<? Php mysqli_num_rows($result); ?>
De mysqli_fetch_array functie wordt gebruikt voor het ophalen van rijrijen uit een query resultatenset.
Het heeft de volgende syntaxis.
<? Php mysqli_fetch_array($result); ?>
De mysqli_close functie wordt gebruikt om een open databaseverbinding te sluiten.
Het heeft de volgende syntaxis.
<? Php mysqli_close($db_handle); ?>
Laten we kijken naar praktische voorbeelden die gebruikmaken van deze functies.
Deze tutorial veronderstelt kennis van MySQL en SQL. Raadpleeg deze MySQL en SQL zelfstudies als u deze termen niet kent.
We zullen een eenvoudige database maken met de naam my_persoonlijke_contacten met slechts één tabel.
Hieronder volgen de stappen om de database en tabel te maken.
<? Php CREATE TABLE IF NOT EXISTS `my_contacts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `full_names` varchar(255) NOT NULL, `gender` varchar(6) NOT NULL, `contact_no` varchar(75) NOT NULL, `email` varchar(255) NOT NULL, `city` varchar(255) NOT NULL, `country` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; INSERT INTO `my_contacts` (`id`, `full_names`, `gender`, `contact_no`, `email`, `city`, `country`) VALUES (1, 'Zeus', 'Male', '111', 'zeus@olympus.mt.co', 'Agos', 'Greece'), (2, 'Anthena', 'Female', '123', 'anthena@olympus.mt.co', 'Athens', 'Greece'), (3, 'Jupiter', 'Male', '783', 'jupiter@planet.pt.co', 'Rome', 'Italy'), (4, 'Venus', 'Female', '987', 'venus@planet.pt.co', 'Mars', 'Italy'); ?>
We hebben nu een database opstelling die we vanuit PHP zullen manipuleren.
We zullen nu een programma maken dat de records uit de database afdrukt.
<? Php $dbh = mysqli_connect('localhost', 'root', 'melody'); // maak verbinding met MySQL server als (!$dbh) die("Kan geen verbinding maken met MySQL : " . mysqli_error()); // als verbinding mislukt toon foutbericht if (!mysqli_select_db($dbh,'my_personal_contacts')) die("Kan database niet selecteren : " . mysqli_error()); // als selectie mislukt toon foutbericht $sql_stmt = "SELECT * FROM my_contacts"; // SQL select query $result = mysqli_query($dbh,$sql_stmt); // voer SQL instructies uit if (!$result) die("Database access failed: " . mysqli_error()); // foutbericht als de uitvoering van de query is mislukt $rows = mysqli_num_rows($result); // krijg het aantal geretourneerde rijen if ($rows) { while ($row = mysqli_fetch_array($result)) { echo 'ID: ' . $row['id'] . '<br>'; echo 'Full Names: ' . $row['full_names'] . '<br>'; echo 'Gender: ' . $row['gender'] . '<br>'; echo 'Contact No: ' . $row['contact_no'] . '<br>'; echo 'Email: ' . $row['email'] . '<br>'; echo 'City: ' . $row['city'] . '<br>'; echo 'Country: ' . $row['country'] . '<br><br>'; } } mysqli_close($dbh); //sluit de database verbinding ?>
Als u de bovenstaande code uitvoert, worden de resultaten weergegeven in het onderstaande diagram
Laten we nu kijken naar een voorbeeld dat een nieuw record toevoegt aan onze tabel. De onderstaande code toont de implementatie.
<? Php $dbh = mysqli_connect('localhost', 'root', 'melody'); //maak verbinding met MySQL server als (!$dbh) if (!$dbh) die("Kan geen verbinding maken met MySQL " . mysqli_error()); //als verbinding mislukt toon foutbericht if (!mysqli_select_db($dbh,'my_personal_contacts')) die("Kan geen verbinding maken met database: " . mysql_error()); //als verbinding met de database mislukt $sql_stmt = "INSERT INTO `my_contacts` (`full_names`,`gender`,`contact_no`,`email`,`city`,`country`)"; $sql_stmt .= " VALUES('Poseidon','Mail','541',' poseidon@sea.oc ','Troy','Ithaca')"; $result = mysqli_query($dbh,$sql_stmt); //uitvoeren van SQL opdracht if (!$result) die("Toevoegen van record mislukt: " . mysqli_error()); //output error message if query execution failed echo "Poseidon is succesvol toegevoegd aan je contactenlijst"; mysqli_close($dbh); //Sluit de database verbinding ?> ?>
Het bericht van de bovenstaande code "Poseidon is succesvol toegevoegd aan je contactenlijst" is de bevestiging van het toevoegen aan de tabel
Vraag uw contacten opnieuw op en kijk of Poseidon is toegevoegd aan je lijst.
Laten we nu kijken naar een voorbeeld dat een record in de database bijwerkt.
Stel dat Poseidon zijn contactnummer en emailadres heeft gewijzigd.
<? Php $dbh = mysqli_connect ('localhost', 'root', 'melody'); // maak verbinding met MySQL server if (!$dbh) die("Kan geen verbinding maken met MySQL:" . mysqli_error()); // als verbinding mislukt toon foutbericht if (!mysqli_select_db($dbh,'my_personal_contacts')) die("Kan database niet selecteren:". mysql_error()); // als selectie mislukt toon foutbericht $sql_stmt = "UPDATE `my_contacts` SET `contact_no` = '785',`email` = 'poseidon@ocean.oc'"; // SQL selectie query $sql_stmt .= " WHERE `id` = 5 "; $result = mysqli_query($dbh, $sql_stmt); // voer SQL instructie uit if (!$result) die ("Verwijderen van record is mislukt:" . mysqli_error ()); // uitvoerfoutbericht als de uitvoering van de query is mislukt echo "ID nummer 5 is succesvol bijgewerkt"; mysqli_close($dbh); // sluit de databaseverbinding ?>
Laten we nu kijken naar een voorbeeld dat records uit de database verwijdert. Laten we veronderstellen dat Venus een straatverbod tegen ons heeft en we moeten haar contactgegevens uit onze database verwijderen.
<? Php $dbh = mysqli_connect ('localhost', 'root', 'melody'); // maak verbinding met MySQL server if (!$dbh) die("Kan geen verbinding maken met MySQL:" . mysqli_error()); // als verbinding mislukt toon foutbericht if (!mysqli_select_db($dbh,'my_personal_contacts')) die ("Kan database niet selecteren:" . mysqli_error()); // als selectie mislukt toon foutbericht $id = 4; // Venus's ID in de database $sql_stmt = "DELETE FROM `my_contacts` WHERE `id` = $id"; // SQL Verwijder zoekopdracht $result = mysqli_query($dbh, $sql_stmt); // voer SQL instructies uit if (!$result) die("Verwijderen van record is mislukt:" . mysqli_error()); // uitvoerfoutbericht als de uitvoering van de query is mislukt echo "ID nummer $id is succesvol verwijderd"; mysqli_close($dbh); // sluit de databaseverbinding ?>
De PDO is een klasse die ons in staat stelt verschillende database engines te manipuleren, zoals MySQL, PostGres, MS SQL Server etc.
De onderstaande code toont de toegangsmethode voor de database met behulp van het object PDO.
Opmerking: de onderstaande code veronderstelt kennis van SQL taal, arrays, afhandeling van uitzonderingen en foreach lus.
<? Php try { $pdo = new PDO("mysql:host=localhost;dbname=my_personal_contacts", 'root', 'melody'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->exec('SET NAMES "utf8"'); $sql_stmt = "SELECT * FROM `my_contacts`"; $result = $pdo->query($sql_stmt); $result->setFetchMode(PDO::FETCH_ASSOC); $data = array(); foreach ($result as $row) { $data[] = $row; } print_r($data); } catch (PDOException $e) { echo $e->getMessage(); } ?>
ODBC is de afkorting voor Open Database Connectivity. Het heeft de volgende basissyntaxis.
<? Php php $conn = odbc_connect($dsn, $user_name, $password); ?>
Het gebruikte voorbeeld gaat uit van u;
Hieronder vindt u de implementatiecode voor ODBC gegevenstoegang
<? Php $dbh = odbc_connect('northwind', '', ''); if (!$dbh) { exit("Connection Failed: " . $dbh); } $sql_stmt = "SELECT * FROM customers"; $result = odbc_exec($dbh, $sql_stmt); if (!$result) { exit("Error access records"); } while (odbc_fetch_row($result)) { $company_name = odbc_result($result, "CompanyName"); $contact_name = odbc_result($result, "ContactName"); echo "<b>Company Name (Contact Person):</b> $company_name ($contact_name)<br>"; } odbc_close($dbh); ?>
Samenvatting