[英]what's wrong with this single PDO?
事情就是這樣,其他的 PDO 運行良好,但這個不行。 我試過了
execute(array(':t'=>$table));
沒有成功。 想法?
public function __construct($table){
try{
$pdocnx = new PDO("mysql:host=localhost;dbname=sigcat",'root','');
$stmt = $pdocnx->prepare('select * from sigcat.:t');
$stmt->bindParam(':t', urldecode($table), PDO::PARAM_STR,45);
$stmt->execute();
$row = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($row);
}catch(Exception $e){
echo $e->getMessage();
}
}
我在“供應”中有很多記錄,但它返回數組(0){}。 我正在使用 $_GET['table'] 獲取 'table' 參數。 不過沒有例外。
您不能綁定表名,只能綁定值。
維護一個有效名稱列表並確保該字符串存在於有效列表中。
如果您無法構建有效名稱列表,則您可能做錯了什么。
你不能綁定表,所以你可以做一個像這樣偷偷摸摸的把戲:
public function myFunction($table){
$st = "SELECT FROM `" . $table ."` ..some sql";
$statement->prepare($st);
$statement->execute();
}
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.