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 –