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.Двоен процедурален и објектно-ориентиран интерфејс
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Двоен процедурален и објектно-ориентиран интерфејс
Референца за `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.
Види исто така
- API не вклучува емулација за емулација на подготвени изјави од страна на клиентот.
- mysqli::__construct()
- Враќа асоцијативно поле што го претставува преземениот ред, каде што секој клуч во полето ја претставува името на една од колоните на множеството резултати,
- $mysqli::connect_errno
- $mysqli::connect_error
- $mysqli::errno
- $mysqli::error
- mysqli Екстензија Функции резиме