萬能寫入sql語句,並且防注入

2021-09-30 22:08:58 字數 1728 閱讀 7884

通過perpare()方法和檢查欄位防sql注入.

$pdo=new pdo('mysql:host=localhost;dbname=scms', 'root' );

$_post=array('title'=>23,'content'=>'kmm');

$keys= array_keys($_post);

/**

* $filetarr陣列用於規定只可以寫入的字段

*/

$filetarr=array('title','content');

$filtre=true;

foreach ($keys as $value)else

}

if($filtre)) values()";

$pdostatement= $pdo->prepare($sql);

$pdostatement->execute($_post);

var_dump($pdostatement->errorinfo());

}else

2.萬能條件語句,同樣通過字段限制防注入

$pdo=new pdo('mysql:host=localhost;dbname=scms', 'root' );

$_post=array('title'=>23,'content'=>'km');

$keys= array_keys($_post);

/**

* $filetarr陣列用於規定只可以寫入的字段

*/

$filetarr=array('title','content');

$filtre=true;

$where='';

/**

*$wherearr陣列用來根據字段指定查詢條件,例如大於,等於,like

*/

$wherearr=array('title'=>'like','content'=>'>%');

foreach ($keys as $value)

$where.='and '.$value.' between '.":left".' and '.":right ";

$_post[$value]=explode(',', $_post[$value]);

$_post[$value.'left']=$_post[$value][0];

$_post[$value.'right']=$_post[$value][1];

unset($_post[$value]);

}else ";

}

}else

}

/**

*

*如果用or連線條件語句,擷取前面兩個字元

*/

$where=substr($where,3);

if($filtre)";

var_dump($sql);

$pdostatement= $pdo->prepare($sql);

$pdostatement->execute($_post);

$re=     $pdostatement->fetchall();

var_dump($pdostatement->errorinfo());

var_dump($_post);

var_dump($re);

}else

萬能SQL語句

在前天的課上,聽了這麼乙個詞 萬能查詢.剛開始還不知道怎麼一回事,知道老師把幾個毫無頭緒,以為要寫很多個方法的程式實現的時候,我真是傻眼了.唉,總結一下,以後這一點真的很重要呢.包括全域性統籌包括 的清晰健壯,是我見過的最好的解決方法了.這樣,我對於 sql 語句的理解更進了一步.更覺得 sql 語...

Linux中Makefile萬能寫法

列出當前目錄下所有 c檔案 src wildcard c 將所有 c檔案轉為 o檔案 obj patsubst c,o,src 指定編譯器 cc gcc 指定鏈結器 cclink g 指定編譯屬性 cflags g wall 指定編譯輸出的可執行程式名稱 outname helloworld all...

嵌入式Linux中Makefile萬能寫法

對於linux系統中使用gcc進行編譯 列出當前目錄下所有 c檔案 src wildcard c 將所有 c檔案轉為 o檔案 obj patsubst c,o,src 指定編譯器 cc gcc 指定鏈結器 cclink g 指定編譯屬性 cflags g wall 指定編譯輸出的可執行程式名稱 ou...