Skip to content

Ruby PDO API

Ruby 的 String —— 一个持有字符的可变字节序列,具有丰富的方法集。

1 class · 7 methods

String

7 methods

String 对象持有并操作任意字节序列,通常表示字符。

PDO::__construct(string $dsn, ?string $username = null, ?string $password = null, ?array $options = null)

返回字符串中的字符数量。

Parameters

NameTypeDescription
dsnstringData Source Name (e.g. 'mysql:host=localhost;dbname=test').
username?stringDatabase username.
password?stringDatabase password.
options?arrayDriver-specific options.

Returns

void

Example

php
<?php
$pdo = new PDO(
    "mysql:host=localhost;dbname=test;charset=utf8mb4",
    "root",
    "secret",
    [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
);
PDO::query(string $query, ?int $fetchMode = null): PDOStatement|false

返回 str 的副本,其中所有小写字母都替换为对应的大写字母。

Parameters

NameTypeDescription
querystringSQL statement to execute.
fetchMode?intOptional fetch mode.

Returns

PDOStatement|false

Example

php
<?php
$stmt = $pdo->query("SELECT id, name FROM users");
foreach ($stmt as $row) {
    echo $row["name"];
}
PDO::prepare(string $query, array $options = []): PDOStatement|false

返回 str 的副本,其中所有大写字母都替换为对应的小写字母。

Parameters

NameTypeDescription
querystringSQL statement with placeholders.
optionsarrayDriver options.

Returns

PDOStatement|false

Example

php
<?php
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = :id");
$stmt->execute([":id" => 42]);
$user = $stmt->fetch();
PDO::beginTransaction(): bool

根据分隔符将 str 拆分为多个子字符串,返回子字符串数组。

Returns

bool

Example

php
<?php
$pdo->beginTransaction();
try {
    $pdo->exec("UPDATE accounts SET bal = bal - 100 WHERE id = 1");
    $pdo->exec("UPDATE accounts SET bal = bal + 100 WHERE id = 2");
    $pdo->commit();
} catch (Exception $e) {
    $pdo->rollBack();
}
PDO::commit(): bool

返回 str 的副本,其中所有出现的 pattern 都被替换为 replacement。

Returns

bool

Example

php
<?php
$pdo->beginTransaction();
$pdo->exec("INSERT INTO logs (msg) VALUES ('hi')");
$pdo->commit();
PDO::rollBack(): bool

返回 str 的副本,移除了前导和尾部空白字符。

Returns

bool

Example

php
<?php
$pdo->beginTransaction();
$pdo->exec("DELETE FROM users WHERE id = 1");
$pdo->rollBack();  // DELETE is undone
PDO::lastInsertId(?string $name = null): string|false

如果 str 包含给定的字符串或字符则返回 true。

Parameters

NameTypeDescription
substring?string要检查的子字符串。

Returns

string|false

Example

php
<?php
$pdo->exec("INSERT INTO users (name) VALUES ('Ann')");
$id = $pdo->lastInsertId();
echo $id;  // e.g. "42"