PHP Conference Japan 2024

cubrid_real_escape_string

(PECL CUBRID >= 8.3.0)

cubrid_real_escape_string在 SQL 語句中使用的字串中逸出特殊字元

描述

cubrid_real_escape_string(string $unescaped_string, resource $conn_identifier = ?): string

此函式會傳回給定字串的逸出字串版本。它會逸出下列字元:'。一般來說,單引號用於括住字元字串。根據 ansi_quotes 的值,也可以使用雙引號,ansi_quotes 是與 SQL 語句相關的參數。如果 ansi_quotes 的值設定為 no,則以雙引號括住的字元字串會被視為字元字串,而不是識別碼。預設值為 yes。如果要將單引號作為字元字串的一部分,請連續輸入兩個單引號。

參數

unescaped_string

要逸出的字串。

conn_identifier

CUBRID 連線。如果未指定連線識別碼,則會假設為 cubrid_connect() 開啟的最後一個連線。

傳回值

成功時,傳回給定字串的逸出字串版本。

失敗時,傳回 false

範例

範例 1:cubrid_real_escape_string() 範例

<?php
$conn
= cubrid_connect("localhost", 33000, "demodb");

$unescaped_str = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
$escaped_str = cubrid_real_escape_string($unescaped_str);

$len = strlen($unescaped_str);

@
cubrid_execute($conn, "DROP TABLE cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (t char($len))");
cubrid_execute($conn, "INSERT INTO cubrid_test (t) VALUES('$escaped_str')");

$req = cubrid_execute($conn, "SELECT * FROM cubrid_test");
$row = cubrid_fetch_assoc($req);

var_dump($row);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

上述範例將輸出

array(1) {
  ["t"]=>
  string(95) " !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
}
新增註解

使用者貢獻註解

此頁面沒有使用者貢獻的註解。
To Top