2014-11-23 90 views
-2

我想從數據庫中獲取一個數組,並將結果設置爲一個變量(在本例中,名爲'$ Rate')。使用mysqli工作的代碼是這樣的:從mysqli轉換爲pdo

//Getting Hire Rate 
$Rate = array(); 
$ratequery = "SELECT HireRate FROM movie WHERE MovieID LIKE '$MovieID'"; 
$rate = mysqli_query($con, $ratequery) 
    or die("Error: ".mysqli_error($con)); 
while ($row = mysqli_fetch_array($rate, MYSQLI_ASSOC)) { 
$Rate[] = $row['HireRate']; 
}; 
mysqli_free_result($rate); 

我想用PDO做同樣的事情。我已閱讀過各種網頁,但無法使其正常工作。

+0

您可以使用['使用fetchall(PDO :: FETCH_COLUMN,0)'(HTTP:/ /php.net/manual/en/pdostatement.fetchall.php),並且手冊中有很多例子 – kero 2014-11-23 13:26:21

回答

0

使用PDO execute方法,而不是query因爲執行阻止你SQL attack

$params = array("%$MovieID%"); 
$stmt = $handle->prepare("SELECT HireRate FROM movie WHERE MovieID LIKE ?"); 
$stmt->execute($params); 
$row = $sql->fetchAll(); 
foreach($data as $row) { 
    $Rate[] = $row['HireRate']; 
}