当我使用IIS7在本地运行我的网站时它运行正常,但现在我已将其上传到webhost我从页面的菜单部分得到此错误。
警告:mysql_fetch_array():提供的参数不是第8行/srv/disk13/1572246/www/iansdrivingschool.atspace.cc/includes/menulearner.php中的有效MySQL结果资源
<?php
include("includes/connect.php");
// get value of id that sent from address bar
$id=$_GET['id'];
$sql="SELECT * FROM 'apply' WHERE id =".$id;
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($result)){
?>
<!--navigation menu-->
<div id="navcontainer">
<ul id="navlist">
<li><a href="prices.php?id=<?php echo $row['id']; ?>">Home</a></li>
<li><a href="profile.php?id=<?php echo $row['id']; ?>">Profile</a></li>
<li><a href="profile_update.php?id=<?php echo $row['id']; ?>">Edit Profile</a> </li>
<li><a href="includes/logout-activation.php">Log Out</a>
</ul>
</div>
<?php
}
?>
答案 0 :(得分:0)
请修理:
$sql="SELECT * FROM apply WHERE id = ".(int)$id;
答案 1 :(得分:0)
您必须在表名中使用反引号而不是引号。使用修改后的代码 -
$sql="SELECT * FROM `apply` WHERE id = $id";
您也可以在不使用反引号的情况下执行此操作。但是必须使用反引号转义保留的关键字,例如FROM
,TO
,DATE
等。否则,没有引号的代码也可以使用 - &gt;
$sql="SELECT * FROM apply WHERE id = $id";
编辑:此外,您正在以错误的方式呈现从mysql接收的数据。使用 - &gt;
while($row=mysql_fetch_array($result)){
?>
<!--navigation menu-->
<div id="navcontainer">
<ul id="navlist">
<li><a href="prices.php?id=<?php echo $row['id']; ?>">Home</a></li>
<li><a href="profile.php?id=<?php echo $row['id']; ?>">Profile</a></li>
<li><a href="profile_update.php?id=<?php echo $row['id']; ?>">Edit Profile</a> </li>
<li><a href="includes/logout-activation.php">Log Out</a>
</ul>
</div><?php
} ?>
答案 2 :(得分:0)
在你的数据库中连接你的php
在你的php文件顶部设置
$username = "root";
$password = "";
$hostname = "localhost";
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
//select a database to work with
$selected = mysql_select_db("android_app",$dbhandle)
or die("Could not select DB");
但设置数据库配置用户名密码和数据库名称
并将您的查询字符串转换为
$sql="SELECT * FROM 'apply' WHERE id =".$id;
答案 3 :(得分:0)
看了一下数据库,忘记了我将表名更改为课程而不是申请 - 谢谢大家的帮助。