Hi! Could we please enable some services and cookies to improve your experience and our website?

PHPize Online / SQLize Online  /  SQLtest Online

A A A
Login    Share code      Blog   FAQ

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

Copy Format Clear

Stuck with a problem? Got Error? Ask AI support!

Copy Clear
Copy Format Clear
<?php /** * 模拟 CI 框架的字符串转义方法 * @param string $str 待转义的字符串 * @param bool $add_quotes 是否添加单引号(默认添加) * @return string 转义后的字符串 */ function escape_string($str, $add_quotes = true) { // 如果字符串为 null,返回 'NULL'(数据库中的空值) if ($str === null) { return 'NULL'; } // 如果字符串是布尔值,转换为整数 if (is_bool($str)) { return $str ? '1' : '0'; } // 如果字符串已经是数字,直接返回 if (is_numeric($str)) { return $add_quotes ? "'$str'" : $str; } // 转义特殊字符 $str = (string) $str; // 处理反斜杠 if (strpos($str, '\\') !== false) { $str = str_replace('\\', '\\\\', $str); } // 处理单引号 if (strpos($str, "'") !== false) { $str = str_replace("'", "\\'", $str); } // 处理双引号(可选,根据数据库配置决定是否需要转义) if (strpos($str, '"') !== false) { $str = str_replace('"', '\\"', $str); } // 添加引号(如果需要) return $add_quotes ? "'$str'" : $str; } // 使用示例 $username = "O'Connor"; echo escape_string($username); // 输出: 'O\'Connor' echo escape_string($username, false); // 输出: O\'Connor
Copy Clear