第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將數(shù)組安全地轉(zhuǎn)換為 SQL 查詢(PHP7+PDO+SQLite)

將數(shù)組安全地轉(zhuǎn)換為 SQL 查詢(PHP7+PDO+SQLite)

PHP
達(dá)令說 2023-04-28 15:03:25
使用 PHP7+PDO+SQLite,我正在尋找一種方法來使用在前端生成的數(shù)組形式的用戶定義過濾器來過濾表中的條目。為清楚起見,這是我正在尋找的示例:例子:數(shù)據(jù)庫中的表: ID             Firstname      Lastname       Age+--------------+--------------+--------------+-------------+| 0            | John         | Doe          | 21          || 1            | John         | Smith        | 35          || 2            | Alice        | Smith        | 35          || 3            | Bob          | Smith        | 40          |+--------------+--------------+--------------+-------------+過濾器:/*Filters follow the structure:[    "Table Column Name 1" => [Match1 OR Match2 OR ...],    AND    "TCN 2" ...]Any column name not provided should match any value.*/[    "Firstname" => ["John"]]// ^ fetchAll() returns rows with ID 0 and 1[    "Firstname" => ["John", "Alice"],    "Lastname" => ["Smith"]]// ^ ID 1 and 2 (but not 3)我需要找到一個可以將上面的數(shù)組轉(zhuǎn)換為 SQL 查詢的函數(shù),以獲取與過濾器匹配的所有行。出于性能原因,我想使用 SQL(我沒有太多經(jīng)驗(yàn))而不是獲取所有行并使用 PHP 過濾它們來執(zhí)行此操作。我知道我可以按照以下方式做一些事情:// Untested - for illustration purposes only$filter = [    "Firstname" => ["John", "Alice"],    "Lastname" => ["Smith"]];$sql = "SELECT * FROM table_name WHERE ";foreach ($filter as $column => $matching_values) {    foreach ($matching_values as $match) {        $sql .= $column . " == " . $match . " OR ";    }    // Ugly way of removing trailing ` OR `    $sql = substr($sql, 0, -4);    $sql .= " AND ";}// Ugly way of removing trailing ` AND `$sql = substr($sql, 0, -5);echo $sql;但這引入了一個巨大的 SQL 注入安全漏洞。我想知道是否有一種簡單而有效且安全的方法來實(shí)現(xiàn)這一目標(biāo)。如果需要,也可以更改過濾器的格式,例如更改為 RegEx(如果有人可以用 RegEx 替換上面示例中最里面的數(shù)組,則加分)?;蛘撸ɑ蛄硗猓?,一種以可搜索的方式描述我的問題的簡單方法可能會有所幫助,因?yàn)槲覠o法對此進(jìn)行太多研究,因?yàn)槲覠o法很好地表達(dá)它。
查看完整描述

目前暫無任何回答

  • 0 回答
  • 0 關(guān)注
  • 152 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號