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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

請(qǐng)問(wèn)生成查詢語(yǔ)句比較好的實(shí)踐應(yīng)該是怎樣的?

請(qǐng)問(wèn)生成查詢語(yǔ)句比較好的實(shí)踐應(yīng)該是怎樣的?

波斯汪 2023-05-03 11:07:09
直接通過(guò) python的連接字符串生成查詢語(yǔ)句,有可能會(huì)有sql注入的危險(xiǎn)。如果,只生成單條查詢,注意點(diǎn)的話,連接字符串組合成查詢語(yǔ)句,危險(xiǎn)性大不大?好像應(yīng)該也沒(méi)什么問(wèn)題如果使用 “?”占位符的話,感覺(jué)很不靈活不方便。比如,多個(gè)keyselect * from tableselect id,name from table這里使用占位符,貌似不能這么用。 args= ('name','xxx')c.execute('select * from stocks where ?=?', args)(字符串連接成查詢語(yǔ)句,要帶入的查詢的值使用占位符??還是直接固定死了,盡量不要抽象話)
查看完整描述

2 回答

?
慕田峪4524236

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊

占位符只能在 VALUE 上使用 ... 表名和字段名都不能使用占位符 ...

換言之 ... 占位符必須不能影響 SQL 語(yǔ)句的構(gòu)造 ...


查看完整回答
反對(duì) 回復(fù) 2023-05-06
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊

占位符的確不能對(duì)字段名使用,只能對(duì)值使用,但是你完全可以構(gòu)建一個(gè)屬于自己的這樣子的函數(shù)。 python沒(méi)寫(xiě)過(guò),就用php來(lái)回答了,思路是一樣的,應(yīng)該能看懂吧。。。

<?php$arr = ['name1', 'value1', 'name2', 'value2'];echo implode_where($arr);function implode_where($conditions) {  $where = [];  $i = 0;  do{    $column = $conditions[$i];    $value = $conditions[$i+1]; //此處可以視情況作一些過(guò)濾,比如把'轉(zhuǎn)義為\'
    $where[] = "`{$column}`='{$value}'"; //將$conditions中每?jī)蓚€(gè)元素為一組組合起來(lái)
  }while($i < count($conditions));  return join(',', $where); //然后用逗號(hào)把他們都拼起來(lái)}

嗯,要注意的一點(diǎn)是上面這個(gè)函數(shù)并不是十分嚴(yán)謹(jǐn),比如沒(méi)有判斷傳入?yún)?shù)為空,或者條件個(gè)數(shù)是奇數(shù)個(gè)的情況,主要只是提供一個(gè)思路啦~


查看完整回答
反對(duì) 回復(fù) 2023-05-06
  • 2 回答
  • 0 關(guān)注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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