1
0
mirror of https://github.com/php/doc-zh.git synced 2026-03-24 07:02:15 +01:00
Files
archived-doc-zh/reference/pgsql/functions/pg-delete.xml
魔王卷子 077a542f80 Update pgsql 5 (#627)
* Update pg-delete.xml

* Update pg-end-copy.xml

* Update pg-escape-bytea.xml

* Update pg-escape-string.xml

* Update pg-escape-string.xml

* Update pg-fetch-all.xml

* Update pg-delete.xml

* Update pg-delete.xml

* Update pg-escape-bytea.xml

* Update pg-escape-string.xml

* Update pg-fetch-all.xml
2023-01-29 18:57:02 +08:00

155 lines
4.9 KiB
XML
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: c2eca73ef79ebe78cebb34053e41b565af504c4f Maintainer: HonestQiao Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<refentry xml:id="function.pg-delete" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pg_delete</refname>
<refpurpose>
删除记录
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>string</type><type>bool</type></type><methodname>pg_delete</methodname>
<methodparam><type>PgSql\Connection</type><parameter>connection</parameter></methodparam>
<methodparam><type>string</type><parameter>table_name</parameter></methodparam>
<methodparam><type>array</type><parameter>conditions</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer><constant>PGSQL_DML_EXEC</constant></initializer></methodparam>
</methodsynopsis>
<para>
<function>pg_delete</function><parameter>conditions</parameter> 中的键和值指定的表中删除记录。
</para>
<para>
如果指定 <parameter>flags</parameter>,则 <function>pg_convert</function> 应用于具有指定 flag 的 <parameter>conditions</parameter>
</para>
<para>
默认 <function>pg_delete</function> 传递原始值。值必须转义或者 <parameter>flags</parameter> 必须指定 <constant>PGSQL_DML_ESCAPE</constant>
flag。<constant>PGSQL_DML_ESCAPE</constant> 引用并转义参数/标识符。因此table/column 名称变为区分大小写。
</para>
<para>
注意转义和预处理查询都不能保护 LIKE 查询、JSON、Array、Regex 等,这些参数要根据上下文来处理。即转义/验证值。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>connection</parameter></term>
<listitem>
&pgsql.parameter.connection;
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>table_name</parameter></term>
<listitem>
<para>
要从中删除行的表名。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>conditions</parameter></term>
<listitem>
<para>
<type>array</type>,其键为表 <parameter>table_name</parameter> 中的字段名,其值为要删除的那些字段的值。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
任意数量 <constant>PGSQL_CONV_FORCE_NULL</constant><constant>PGSQL_DML_NO_CONV</constant><constant>PGSQL_DML_ESCAPE</constant><constant>PGSQL_DML_EXEC</constant><constant>PGSQL_DML_ASYNC</constant>
<constant>PGSQL_DML_STRING</constant> 的组合。如果 <constant>PGSQL_DML_STRING</constant><parameter>flags</parameter> 的一部分,则返回查询字符串。当设置 <constant>PGSQL_DML_NO_CONV</constant>
<constant>PGSQL_DML_ESCAPE</constant> 时,不会在内部调用 <function>pg_convert</function>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;如果通过 <parameter>flags</parameter> 传递 <constant>PGSQL_DML_STRING</constant>,则返回 <type>string</type>
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&pgsql.changelog.connection-object;
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>pg_delete</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
$db = pg_connect('dbname=foo');
// 因为转义了所有的值,所以在某种程度上是安全的。
// 然而 PostgreSQL 支持
// JSON/Array。无论是转义还是预处理都不安全。
$res = pg_delete($db, 'post_log', $_POST, PG_DML_ESCAPE);
if ($res) {
echo "POST data is deleted: $res\n";
} else {
echo "User must have sent wrong inputs\n";
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pg_convert</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->