2013-08-19 124 views
0

我用pdo準備語句查詢我的數據庫,我無法弄清楚如何在執行查詢後返回實際查詢。
我已經嘗試過print_r($statement);,但所做的只是給出了pdo準備好的查詢。 任何幫助將不勝感激!返回pdo語句的查詢

$sql = ("SELECT * FROM `mySite` WHERE `info` LIKE :checkSite OR `users` LIKE :checkSite"); 
$stmt = $pdo->prepare($sql); 
$stmt->bindParam(":checkSite", "%$checkSite%"); 

$stmt->execute(); 
$results = $stmt->fetchAll(); 
foreach($results as $row){ 
    echo $row['users']; 
} 

回答

0

這是一個相當複雜的任務,也是使用預準備語句的一個缺點。

但API不提供這種開箱即用的功能。因此,獲取原始SQL的唯一方法是手動分析佔位符。 There are some home-brewed solutions in this answer

+0

好的。我正在使用這個在我的網站上創建一個搜索欄...有沒有更好的方法,仍然會防止SQL注入? – user2692006

+0

Err ...你是什麼意思?編寫的語句是處理SQL查詢的唯一方法。您也可以使用它們來創建搜索欄。你爲什麼認爲你需要另一種解決方案? –

+0

它似乎只是想獲得查詢信息是相當奇怪的地方作爲查詢沒有pdo它更容易獲取信息 – user2692006