继承我的组织的一个副网站,直到我们找到一个Web开发人员。最初必须将整个PHP网站从MySQL_语句转换为PDO。做完作业后,我已经大部分都成功了,但现在已经有了一些"机制"可以说是发生故障。以下是一个这样的例子。我知道array()/ 4是一个非法的操作,但我找不到另一种方法来完成这个功能。这对我来说可能是一个学习上的差距,但我也猜测这个功能并没有按照设计的方式使用。任何意见将不胜感激,谢谢。
$result = $dbh->query($category);
if ($dbh = $result->rowCount(1)){
$cols=4;
$rows = $result->fetch(PDO::FETCH_ASSOC);
$rows = $rows/$cols;
$extrarows=$cols-$rows;
$extrarows=substr($extrarows,0,1);
for ($i=0; $i<$rows; $i++) {
echo ("<tr>");
for ($j=0; $j<$cols;$j++){
//$rowdata=mysql_fetch_row($result);
$rowdata = $result->fetch(PDO::FETCH_ASSOC);
echo ("<td valign=\"top\" align=\"center\" width=\"20%\">\n");
if ($rowdata!=""){
其他信息:
if ($e!=""){
$page="SELECT galleryid from gallery where (year='$year' and event='$e') order by sortorder ASC;";
}elseif ($k!=""){
$page="SELECT galleryid from gallery where (year='$year' and keyword='$k') order by sortorder ASC;";
}else{
$page="SELECT galleryid from gallery where year='$year' order by sortorder ASC;";
}
$resultnext = $dbh->query($page);
$array=array();
while($rownext = $resultnext->fetch(PDO::FETCH_ASSOC)) {
$newid=$rownext["galleryid"];
$image=$rownext["imagetitle"];
array_push($array,$newid);
}
$id=$_GET['id'];
$key=array_search($id,$array);
$first=array_slice($array,0,1);
$first=$first[0];
$last=array_slice($array,-1,1);
$last=$last[0];
$previous=array_slice($array,$key-1,1);
$previous=$previous[0];
$current=array_slice($array,$key,1);
$current=$current[0];
$next=array_slice($array,$key+1,1);
$next=$next[0];
答案 0 :(得分:0)
原来我必须为每个$ result更改我的PDO语句 - &gt;取。我的初始部分是正确的,但需要省略FETCH_ASSOC。示例如下:
$result->fetch(PDO::FETCH_ASSOC)
也是
$rows = $result->fetch()