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

mysqli::execute_query

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

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

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

mysqli.execute-query.php

mysqli::execute_query

mysqli_execute_query

(PHP 8 >= 8.2.0)

mysqli::execute_query -- mysqli_execute_query(PHP 8 >= 8.2.0)

= NULL

Напиши целосна ознака на елемент

public mysqli::execute_query(string $query, ?array $params = null): mysqli_result|bool

Процедурален стил

mysqli_execute_query(mysqli $mysql, string $query, ?array $params = null): mysqli_result|bool

Подготвува, врзува параметри и извршува SQL изјава Ја подготвува SQL нарачката, ги врзува параметрите и ја извршува. The mysqli::execute_query() враќа објект за изјава или, методот е кратенка за, mysqli_stmt::bind_param()Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во mysqli_stmt::execute().

Ја подготвува SQL нарачката и враќа рачка за изјава што ќе се користи за понатамошни операции на изјавата. Нарачката мора да се состои од една SQL изјава.?mysqli_stmt::get_result() array using params parameter.

) ознаки на параметри⁠—исто така наречени заменски знаци. Вредностите на параметрите мора да бидат обезбедени како mysqli_stmt Подготвената изјава се создава под хаубата, но никогаш не се открива надвор од функцијата. Невозможно е да се пристапи до својствата на изјавата како што би се правело со mysqli објект. Поради ова ограничување, информациите за статусот се копираат во mysqli_affected_rows() or mysqli_error().

Забелешка:

објект и се достапни користејќи ги неговите методи, на пр. mysqli_execute_query() Во случај кога изјава е предадена на max_allowed_packet што е подолго од

  • на серверот, вратените кодови за грешки се различни во зависност од оперативниот систем. Однесувањето е како што следува: На Linux враќа код за грешка 1153. Пораката за грешка значи max_allowed_packet bytes.

  • доби пакет поголем од На Windows враќа код за грешка 2006. Оваа порака за грешка значи.

Параметри

mysql

објектот како свој прв аргумент. mysqli Само процедурален стил: А mysqli_connect() or mysqli_init()

query

пред извршување на изјавата.

Нарачката, како стринг. Мора да се состои од една SQL изјава.?SQL изјавата може да содржи нула или повеќе маркери за параметри претставени со знаци прашалник (

Забелешка:

) на соодветните позиции. VALUES() Маркерите се легални само на одредени места во SQL изјавите. На пример, дозволени се во INSERT листата на WHERE изјава (за специфицирање вредности на колони за ред), или во споредба со колона во

params

серверот се исклучил array со онолку елементи колку што има поврзани параметри во SQL изјавата што се извршува. Секоја вредност се третира како string.

Вратени вредности

Патеката до PHP скриптата што треба да се провери. false при неуспех. За успешни барања што произведуваат сет на резултати, како што се SELECT, SHOW, DESCRIBE or EXPLAIN, враќа mysqli_result објект. За други успешни прашања, враќа true.

Примери

Пример #1 Ја подготвува SQL нарачката, ги врзува параметрите и ја извршува. The example

Напиши целосна ознака на елемент

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');

$query = 'SELECT Name, District FROM City WHERE CountryCode=? ORDER BY Name LIMIT 5';
$result = $mysqli->execute_query($query, ['DEU']);
foreach (
$result as $row) {
printf("%s (%s)\n", $row["Name"], $row["District"]);
}

Процедурален стил

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = 'SELECT Name, District FROM City WHERE CountryCode=? ORDER BY Name LIMIT 5';
$result = mysqli_execute_query($link, $query, ['DEU']);
foreach (
$result as $row) {
printf("%s (%s)\n", $row["Name"], $row["District"]);
}

mysqli_result::fetch_object()

Aachen (Nordrhein-Westfalen)
Augsburg (Baijeri)
Bergisch Gladbach (Nordrhein-Westfalen)
Berlin (Berliini)
Bielefeld (Nordrhein-Westfalen)

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

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

theking2(at)king(dot).co.
пред 2 години
A function to call a stored procedure with an arbitrary number of IN parameters and one OUT parameter, for instance returning affected row count. The return value of yhe function is this value.

<?php

/**
 * call_sp Call the specified stored procedure with the given parameters.
 * The first parameter is the name of the stored procedure.
 * The remaining parameters are the (in) parameters to the stored procedure.
 * the last (out) parameter should be an int, like state or number of affected rows.
 *
 * @param  mixed $sp_name The name of the stored procedure to call.
 * @param  mixed $params The parameters to pass to the stored procedure.
 * @return int The number of affected rows.
 */
function call_sp( \mysqli $db, string $sp_name, ...$params ): int
{
  $sql = "CALL $sp_name( ";
  $sql .= implode( ", ", array_fill( 0, count( $params ), "?" ) );
  $sql .= ", @__affected );";

  $result   = $db->execute_query( $sql, $params );
  $result   = $db->query( "select @__affected;" );
  $affected = (int) $result->fetch_column( 0 );
  return $affected;
}
На оваа страница

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

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

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

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

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