Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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 如何在网页的不同位置显示查询记录?_Php_Mysql_Sql_Pdo - Fatal编程技术网

Php 如何在网页的不同位置显示查询记录?

Php 如何在网页的不同位置显示查询记录?,php,mysql,sql,pdo,Php,Mysql,Sql,Pdo,更新: 我使用了以下查询: $act1 = $dbh->prepare("(SELECT Title, start_date FROM service_o ORDER BY start_date DESC limit 2) UNION (SELECT Title, Start_Date FROM research_o ORDER BY start_date DESC limit 2) UNION (SELECT Title, Start_Date FROM intern_o ORDER B

更新: 我使用了以下查询:

$act1 = $dbh->prepare("(SELECT Title, start_date FROM service_o ORDER BY start_date DESC limit 2) UNION (SELECT Title, Start_Date FROM research_o ORDER BY start_date DESC limit 2) UNION (SELECT Title, Start_Date FROM intern_o ORDER BY start_date DESC limit 2) UNION (SELECT Title, Start_Date FROM participate_o ORDER BY start_date DESC limit 2)");

$act1->execute();
$act1->fetchAll();
$result = $act1->fetchall(PDO::FETCH_ASSOC);
是否绝对有必要使用var_dump?此外,使用此选项时,我会得到一个未定义的偏移错误:

echo $result[0]['Title']

使用
execute
,然后使用
fetchAll
以数组形式返回所有结果

$act1 = $dbh->prepare("SELECT  Title, start_date FROM table1 ORDER BY start_date DESC limit 2 
    UNION
    SELECT  Title, Start_Date FROM research_o ORDER BY table2 DESC limit 2 
    UNION
    SELECT  Title, Start_Date FROM intern_o ORDER BY table3 DESC limit 2 
    UNION
    SELECT  Title, Start_Date FROM participate_o ORDER BY table4 DESC limit 2 ");

$act1->execute();
$result = $act1->fetchAll(PDO::FETCH_ASSOC);

var_dump($result);
您的阵列的结构如下所示:

$result = [
 '0' => [ 'Title' => 'some title', 'Start_Date' => '2009-10-15'],
 '1' => [ 'Title' => 'some title', 'Start_Date' => '2009-10-15'],
 '2' => [ 'Title' => 'some title', 'Start_Date' => '2009-10-15'],
 '3' => [ 'Title' => 'some title', 'Start_Date' => '2009-10-15'],
 '4' => [ 'Title' => 'some title', 'Start_Date' => '2009-10-15'],
 '5' => [ 'Title' => 'some title', 'Start_Date' => '2009-10-15'],
 '6' => [ 'Title' => 'some title', 'Start_Date' => '2009-10-15'],
 '7' => [ 'Title' => 'some title', 'Start_Date' => '2009-10-15'],
];
这意味着您可以通过调用以下命令来访问面板中阵列的每个元素:

echo $result[0]['Title'] . ' - ' . $result[0]['Start_Date'];
或者,如果要循环浏览它们并同时显示所有内容:

foreach ($result as $row) {
    echo '<div class="panel">' . $row['Title'] . ' - ' . $row['Start_Date'] . '</div>';
}
foreach($result作为$row){
回显'.$row['Title'].-'.$row['Start_Date'].';
}
阅读有关执行的更多信息,此处显示如何从查询中获取数据:

执行以前使用mysqli_prepare()函数准备的查询


我更新了详细信息以突出我在使用您的方法时面临的问题。我在代码中犯了一个小错误,删除了包含此
$act1->fetchAll()的单行但保留此行
$result=$act1->fetchall(PDO::FETCH_ASSOC)var_dump的目的是验证结果集的内容。您可以简单地将其删除。谢谢,更改使其生效。