Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PDO中的操作数替换_Php_Mysql_Arrays_Pdo - Fatal编程技术网

Php PDO中的操作数替换

Php PDO中的操作数替换,php,mysql,arrays,pdo,Php,Mysql,Arrays,Pdo,继承了我所在组织的一个附属网站,直到我们能够找到一名Web开发人员。最初,我们不得不将整个PHP网站从MySQL_uu语句转换为PDO。做完作业后,我在这方面取得了很大的成功,但现在可以说有些“机制”出现了故障。下面的例子就是这样一个例子。我知道array()/4是一个非法操作,但我找不到其他方法来完成此功能。这对我来说可能是一个学习上的差距,但我也猜这个函数并没有真正按照设计的方式使用。如有任何意见,将不胜感激,谢谢 $result = $dbh->query($category); i

继承了我所在组织的一个附属网站,直到我们能够找到一名Web开发人员。最初,我们不得不将整个PHP网站从MySQL_uu语句转换为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!=""){

事实证明,对于每个$result->fetch,我都必须稍微更改我的PDO语句。我的初始部分是正确的,但需要省略FETCH_ASSOC。示例如下:

$result->fetch(PDO::fetch\u ASSOC)


$rows=$result->fetch()

您仍然需要从返回的
$result->fetch(PDO::fetch_ASSOC)
中解包一个数组项<代码>$rows[“count”]或其他。它应该在那里计算什么?
$rows
将是一行数据。您需要
$result->rowCount()
来获取整个结果集中的行数。或者您可以执行
$rows=count($rows)/$cols也许你应该全部重写。如果它只是为了输出一个图像网格,那么
foreach(array\u chunk($result->fetchAll(),4)作为$4行){
可能已经可以了。还可以将一些东西包装到函数中。否则这将无法继续维护。@jaredquarece哪个偏移量未定义?这些索引之一(2,5,6,10)未设置。请检查数据并查看返回的内容。
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];