【发布时间】:2021-07-28 06:47:24
【问题描述】:
我在将格式化的数据库查询从 MySQL 转换为 MySQLi 时遇到问题。在 MySQL 中,以下代码生成了一个格式化列表,每一行形成一个格式化良好的条目,所有这些都列在彼此的下方。三个按钮将触发不同数据集的三个不同数据库查询。在 MySQLi 上,此代码现在生成一个连续的数据流,根本没有任何换行符或分段符。有人可以帮我解决如何恢复格式吗?
我应该补充一点,我是一名新手程序员,对 MySQLi 了解甚少。非常感谢!
<?php
include 'tools/config.php';
include 'tools/opendb.php';
if(isset($_POST['button1'])){
echo "
";
$link = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$query = "SELECT title, type, publication, date, pub_desc, link FROM publications WHERE status=\"P\" ORDER BY date DESC";
$result = mysqli_query($link, $query);
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
{
echo "
{$row['title']} " .
"
{$row['pub_desc']}
" .
"{$row['publication']}, " .
"{$row['date']}, " .
"{$row['type']}
" ;
}
include 'tools/closedb.php';
}//if isset
if(isset($_POST['button3'])){
echo "
";
$query = "SELECT date, title, location, event FROM speeches ORDER BY date DESC";
$result = mysqli_query($link, $query);
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
{
echo "
" . $row['title'] . "
";
echo "
" . $row['event'] . ", " . $row['location'] . "
";
echo "
" . date( "M Y", strtotime($row['date'])) . "
";
echo "
";
}
include 'tools/closedb.php';
}//if isset
if(isset($_POST['button4'])){
echo "
";
$query = "SELECT title, type, date, event, location, organizer FROM seminars ORDER BY date DESC";
$result = mysqli_query($link, $query);
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
{
echo "
" . $row['title'] . "
";
echo "
" . $row['event'] . ", " . $row['organizer'] . "
";
echo "
" . $row['location'] . ", " . date( "M Y", strtotime($row['date'])) . "
";
echo "
";
}
include 'tools/closedb.php';
}//if isset
?>
【问题讨论】:
-
您好,欢迎来到 StackOverflow!您能否指定此脚本在什么环境中执行(例如,在浏览器中、在控制台中以及在哪个环境中......)?
-
谢谢!该脚本是 WordPress 网站的一部分,并使用 PHP 插件在页面中运行。在我不得不过渡到 MySQLi 之前,它运行良好。我目前正在 Safari 中对其进行测试。