PHP.mk документација

Двоен процедурален и објектно-ориентиран интерфејс

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

mysqli.quickstart.dual-interface.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека mysqli.quickstart.dual-interface.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Двоен процедурален и објектно-ориентиран интерфејс

Референца за `mysqli.quickstart.dual-interface.php` со подобрена типографија и навигација.

mysqli.quickstart.dual-interface.php

Двоен процедурален и објектно-ориентиран интерфејс

The mysqli extension features a dual interface. It supports the procedural and object-oriented programming paradigm.

Екстензијата mysqli нуди двоен интерфејс. Таа го поддржува процедуралниот и објектно-ориентираниот парадигма за програмирање.

Корисниците кои мигрираат од старата mysql екстензија може да го претпочитаат процедуралниот интерфејс. Процедуралниот интерфејс е сличен на оној на старата mysql екстензија. Во многу случаи, имињата на функциите се разликуваат само по префиксот. Некои mysqli функции земаат рачка за конекција како прв аргумент, додека соодветните функции во стариот mysql интерфејс го земаат како опционален последен аргумент.

<?php
$mysqli
= mysqli_connect("example.com", "user", "password", "database");
$result = mysqli_query($mysqli, "SELECT 'Please do not use the deprecated mysql extension for new development. ' AS _msg FROM DUAL");
$row = mysqli_fetch_assoc($result);
echo
$row['_msg'];

$mysql = mysql_connect("example.com", "user", "password");
mysql_select_db("test");
$result = mysql_query("SELECT 'Use the mysqli extension instead.' AS _msg FROM DUAL", $mysql);
$row = mysql_fetch_assoc($result);
echo
$row['_msg'];

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Please do not use the deprecated mysql extension for new development. Use the mysqli extension instead.

Пример #1 Лесна миграција од старата mysql екстензија

Објектно-ориентиран интерфејс

Покрај класичниот процедурален интерфејс, корисниците можат да изберат да го користат објектно-ориентираниот интерфејс. Документацијата е организирана користејќи го објектно-ориентираниот интерфејс. Објектно-ориентираниот интерфејс прикажува функции групирани според нивната намена, што го олеснува почетокот. Референтниот дел дава примери за двете варијанти на синтаксата.

Нема значајни разлики во перформансите помеѓу двата интерфејси. Корисниците можат да го засноваат својот избор на лична преференција.

<?php

$mysqli
= mysqli_connect("example.com", "user", "password", "database");

$result = mysqli_query($mysqli, "SELECT 'A world full of ' AS _msg FROM DUAL");
$row = mysqli_fetch_assoc($result);
echo
$row['_msg'];

$mysqli = new mysqli("example.com", "user", "password", "database");

$result = $mysqli->query("SELECT 'choices to please everybody.' AS _msg FROM DUAL");
$row = $result->fetch_assoc();
echo
$row['_msg'];

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

A world full of choices to please everybody.

Пример #2 Објектно-ориентиран и процедурален интерфејс

Објектно-ориентираниот интерфејс се користи за брзиот почеток бидејќи референтниот дел е организиран на тој начин.

Мешање на стилови

Можно е да се префрлате помеѓу стилови во секое време. Мешањето на двата стила не се препорачува од причини за јасност на кодот и стил на кодирање.

<?php

$mysqli
= new mysqli("example.com", "user", "password", "database");

$result = mysqli_query($mysqli, "SELECT 'Possible but bad style.' AS _msg FROM DUAL");

if (
$row = $result->fetch_assoc()) {
echo
$row['_msg'];
}

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Possible but bad style.

Види исто така

Белешки од корисници 1 белешка

Анонимен
пред 11 години
Just want to add that both procedural mysqli_connect_errno and mysqli_connect_error DON'T accept any arguments!
http://php.net/manual/de/mysqli.connect-errno.php
http://php.net/manual/de/mysqli.connect-error.php
"int mysqli_connect_errno ( void )"
"string mysqli_connect_error ( void )"
It clearly states "void" there.

Adding the mysqli-Instance as a parameter makes it look like it pulls the error-number out of the provided instance, which is not actually happening. This could end in a hard to detect bug when connecting to multiple SQL servers.
And it is confusing for beginners.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.