我繼續將我的代碼從mysql_*
改寫爲PDO
,並在我這樣做的時候學習它,但我有點被這個問題困住了。當我運行它時,我的回答是空的[][][][]
。這是舊代碼從mysql到PDO的轉換
$objConnect = mysql_connect("localhost","root","");
$objDB = mysql_select_db("mytable");
mysql_query("SET NAMES 'UTF8'");
$strSQL = "SELECT * FROM table";
$objQuery = mysql_query($strSQL);
$intNumField = mysql_num_fields($objQuery);
$resultArray = array();
while($obResult = mysql_fetch_array($objQuery))
{
$arrCol = array();
for($i=0;$i<$intNumField;$i++)
{
$arrCol[mysql_field_name($objQuery,$i)] = $obResult[$i];
}
array_push($resultArray,$arrCol);
}
mysql_close($objConnect);
echo json_encode($resultArray);
而這正是我試圖
include 'database.php';
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$strSQL = "SELECT * FROM table";
$resultArray = array();
foreach($pdo->query($strSQL) as $res)
{
$arrCol = array();
for($i=0;$i<$strSQL;$i++)
{
$arrCol[mysql_field_name($res,$i)] = $strSQL[$i];
}
array_push($resultArray,$arrCol);
}
echo json_encode($resultArray);
啊,我明白了。感謝您的回答,它幫助了我! – 2015-01-21 08:15:00
@JasonPaddle肯定很高興這有助於 – Ghost 2015-01-21 08:15:13
所以循環是爲了重新實現 - > fetchAll呢? – mario 2015-01-21 08:15:34