在PHP标签中的一段代码被当做html处理,不知道为什么,求解。下面附下源代码:
<html><head><title>Book-O-RamaSearchResults</title></head><body><h1>Book-O-RamaSearch...
<html>
<head>
<title>Book-O-Rama Search Results</title>
</head>
<body>
<h1>Book-O-Rama Search Results</h1>
<?php
//create short variable names
$searchtype = $_POST['searchtype'];
$searchterm = trim($_POST['searchterm']);
if(!$searchtype || !$searchterm){
echo 'You have not entered search details.
Please go back and try again.';
exit;
}
//check if opened
if(!get_magic_quotes_gpc()){
$searchtype = addslashes($searchtype);
$searchterm = addslashes($searchterm);
}
$db = new mysqli('localhost','root','','books');
if (mysqli_connect_errno()){
echo 'Error:Could not connect to database.Please try again later.';
exit;
}
$query = "select * from books where ".$searchtype." like '%".$searchitem."%'";
$result = $db->query($query);
$num_results = $result->num_rows;
echo "<p>Number of books found: ".$num_results."</p>";
for ($i =0;$i<$num_results;$i++){
$row = $result->fetch_assoc();
echo "<p><strong>".($i+1).". Title: ";
echo htmlspecialchars(stripslashes($row['title']));
echo "</strong><br/>Author: ";
echo stripslashes($row['author']);
echo "<br />ISBN: ";
echo stripslashes($row['isbn']);
echo "<br />Price: ";
echo stripslashes($row['price']);
echo "</p>";
}
$result->free();
$db->close();
?>
</body>
</html> 展开
<head>
<title>Book-O-Rama Search Results</title>
</head>
<body>
<h1>Book-O-Rama Search Results</h1>
<?php
//create short variable names
$searchtype = $_POST['searchtype'];
$searchterm = trim($_POST['searchterm']);
if(!$searchtype || !$searchterm){
echo 'You have not entered search details.
Please go back and try again.';
exit;
}
//check if opened
if(!get_magic_quotes_gpc()){
$searchtype = addslashes($searchtype);
$searchterm = addslashes($searchterm);
}
$db = new mysqli('localhost','root','','books');
if (mysqli_connect_errno()){
echo 'Error:Could not connect to database.Please try again later.';
exit;
}
$query = "select * from books where ".$searchtype." like '%".$searchitem."%'";
$result = $db->query($query);
$num_results = $result->num_rows;
echo "<p>Number of books found: ".$num_results."</p>";
for ($i =0;$i<$num_results;$i++){
$row = $result->fetch_assoc();
echo "<p><strong>".($i+1).". Title: ";
echo htmlspecialchars(stripslashes($row['title']));
echo "</strong><br/>Author: ";
echo stripslashes($row['author']);
echo "<br />ISBN: ";
echo stripslashes($row['isbn']);
echo "<br />Price: ";
echo stripslashes($row['price']);
echo "</p>";
}
$result->free();
$db->close();
?>
</body>
</html> 展开
3个回答
2012-04-19 · 知道合伙人软件行家
关注
展开全部
貌似这是《PHP和MySQL Web 开发》一书的代码哦。
以下是我据经验作出的判断,可能的原因:
1. 检查服务器是不是对php代码能正确解析。
判断方法,在网站根目录下建立名为 test.php 文件,输入内容:
<?php phpinfo(); ?>
如果访问有信息显示,则说明服务器解析正确。
2. 检查上面的代码文件 扩展名是不是 .php (貌似书里的文件名是 results.php )。
一般来说,PHP服务器大多设置是:以扩展名.php作为解析依据的,也就是说,只有文件扩展名为 .php ,才会进行 php 解析。
以下是我据经验作出的判断,可能的原因:
1. 检查服务器是不是对php代码能正确解析。
判断方法,在网站根目录下建立名为 test.php 文件,输入内容:
<?php phpinfo(); ?>
如果访问有信息显示,则说明服务器解析正确。
2. 检查上面的代码文件 扩展名是不是 .php (貌似书里的文件名是 results.php )。
一般来说,PHP服务器大多设置是:以扩展名.php作为解析依据的,也就是说,只有文件扩展名为 .php ,才会进行 php 解析。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询