Iam將我的舊代碼(以多種方式進行調優)帶入帶有PDO的新標準。 問題是,我沒有得到任何回報,沒有錯誤信息,沒有任何東西。 我的代碼的作用如下:對數據庫進行查詢,如果有任何結果($ resultado),它會在數組中創建數據的順序。 可以請別人給我一個幫助嗎? 我嘗試了數組的方式和對象的方法,沒有甜甜圈:/如何從舊的查詢PHP到使用PDO準備好的語句進行查詢PHP
舊代碼:
$sql_code =
"SELECT news_id, news_title, news_date, news_resume
FROM news
WHERE news_show = 'S'
ORDER BY news_date DESC
";
$result = mysql_query($sql_code);
if ($result) {
$rows = mysql_num_rows($result);
for ($i=0; $i<$rows; $i++) {
$aID[] = mysql_result($result, $i, "news_id");
$aTitle[] = mysql_result($result, $i, "news_title");
$aDate[] = mysql_result($result, $i, "news_date");
$aResume[] = mysql_result($result, $i, "news_resume");
}
}
?>
新的代碼,不工作:
try
{
$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpasswd);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $dbh->prepare("SELECT news_id, news_title, news_date, news_resume
FROM news
WHERE news_show = :newsS
ORDER BY news_date DESC");
$stmt->execute(array('newsS' => 'S'));
while ($sql_code = $stmt->fetchall(PDO::FETCH_ASSOC))
{
$result = mysql_query($sql_code);
}
}
catch(PDOException $e)
{
echo "Error:". $e->getMessage();
}
$result = mysql_query($sql_code);
if ($result)
{
$rows = mysql_num_rows($result);
for ($i=0; $i<$rows; $i++)
{
$aID[] = mysql_result($result, $i, "news_id");
$aTitle[] = mysql_result($result, $i, "news_title");
$aDate[] = mysql_result($result, $i, "news_date");
$aResume[] = mysql_result($result, $i, "news_resume");
}
}
?>
簡單:你在混合MySQL API。你不能這樣做。使用連接中的同一個查詢。沒有灰色地帶。儘管你可以喝朗姆酒和可樂。 –
我爲up/title – Drew
加上'fetchall'應該有一個大寫A.現在誰有球提交答案?編輯:*你怎麼樣山姆?* - @JayBlanchard - grin –