【发布时间】:2017-04-30 21:28:34
【问题描述】:
我正在为一个学校项目编写一家书店。上学期我们从 html 开始。本学期我们出于动态原因将其转换为 php。我尽我所能将代码模块化,但是当我将php的功能部分放入时,它会阻止php代码中的所有以下html显示。据我所知,我所做的一切都是正确的,找不到问题。
这是我 index.php 中的 php 调用
<aside class="lSideMenu">
<table>
<tr><td><h3>Categories</h3></td></tr>
<?php
include_once 'getGenres.php';
popGenres();
?>
<tr><td><a href="humorbook.html">Humor</a></td></tr>
</table>
</aside>
我在调用测试后离开了表格行并且没有显示,但是当我查看调试窗口时,表格和旁边的关闭标签就在那里。之后还有其他代码也没有填充,我的 css 中断了。
这是getGenres.php的php函数
<?php
/**
* Created by PhpStorm.
* User: PoeDawg
* Date: 4/5/2017
* Time: 2:51 PM
*/
function db_connect(){
$host = 'localhost';
$uname = 'root';
$pass = 'root';
$link = new mysqli($host, $uname, $pass);
if (!$link) {
die('Could not connect: ' . mysqli_error($link));
}
return $link;
}
function popGenres(){
$link = db_connect();
$dbname = 'volga_db';
$db_selected = mysqli_select_db($link, $dbname);
if (!$db_selected) {
die('Could not connect to database: ' . mysqli_error($link));
}
$query = 'SELECT * FROM tblgenres';
$result = mysqli_query($link, $query);
if ( $result ) {
while ( $row = $result->fetch_assoc() ) {
echo "<tr><td><a href=\"booklist.html\">" . $row['genreName'] . "</a></td></tr>";
}
$result->close();
}
mysqli_close()($link);
}
它完成了它应该做的事情,即填充流派列表,它只是阻止函数调用下方的内容加载到浏览器中。如果我将 php 调用部分取出,该页面将正常工作。任何帮助将不胜感激。
【问题讨论】:
-
“它只是破坏了我页面的其余部分” 并不能很好地描述问题所在。
-
欢迎来到Stack Overflow。请获取该站点的tour,阅读How to Ask 以及如何创建minimal reproducible example。然后回到您的问题并重新表述它(最好使用代码示例)以获得(有用的)答案。
-
Parse error: syntax error, unexpected '(' in your code on line 38 mysqli_close()($link);请设置error_reporting(E_ALL); -
检查您的错误日志,或turn on error reporting,以便您了解发生了什么。我很确定您在
mysqli_close()($link);上遇到了致命错误(语法错误) -
我通过mysql.ini打开了错误报告,但没有报告错误。
标签: php