我的mysql语句中有错误,我无法理解它的错误。 我收到了警告
警告:mysql_fetch_array()要求参数1为资源,布尔值在第166行的C:\ wamp \ www \ website-template-40 \ website-template-40 \ employ.php中给出 并在使用mysql_error之后
我收到以下错误: - 什么是错误你的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的'where designation ='used''附近使用正确的语法
<?php
$q="select count(*) \"total\" from tblregistration where designation='employed'";
$ros=mysql_query($q) or die('error1'.mysql_error());
$row=(mysql_fetch_array($ros));
$total=$row['total'];
$dis=8;
$total_page=ceil($total/$dis);
$page_cur=(isset($_GET['page']))?$_GET['page']:1;
$k=($page_cur-1)*$dis;
$q11="select * from tblregistration limit $k,$dis where designation='employed'";
$ros1=mysql_query($q11) or die('what a error'.mysql_error());
$i=2;
while($row1=mysql_fetch_array($ros1))
{
if($i==2)
{
echo '<tr>';
$i=0;
}
?> <td><img src="upload/<?php echo $row1['image'];?>" width="100px" height="100px;" /></td>
<td><?php echo $row1['name'];?><br />
<?php echo $row1['designation'];?><br />
<?php echo $row1['contactno'];?><br />
<?php echo $row1['emailid'];?><br />
</td>
<?php
$i++;
if($i==2)
{
echo '</tr>';
}
} ?>
答案 0 :(得分:0)
LIMIT
关键字应该在最后而不是WHERE
子句之前。
正确的方式..
select * from `tblregistration` where `designation`='employed' LIMIT '$k','$dis'
此mysql_*
)扩展程序自PHP 5.5.0
起已弃用,将来会被删除。相反,应使用MySQLi
或PDO_MySQL
扩展名。切换到PreparedStatements
甚至可以更好地抵御SQL注入攻击!
答案 1 :(得分:0)
1)sql查询结构:
SELECT field1 [,"field2",etc]
FROM table
[WHERE "condition"]
[LIMIT "limit"]
2)你不能在这一行的字符串赋值中使用die:
$q11="select * from tblregistration limit $k,$dis where designation='employed'" or die('what a error'.mysql_error());
更改这些行:
$q11="select * from tblregistration limit $k,$dis where designation='employed'" or die('what a error'.mysql_error());
$ros1=mysql_query($q11);
为:
$q11="select * from tblregistration where designation='employed' limit $k,$dis";
$ros1=mysql_query($q11) or die('what a error'.mysql_error());