mysql查询语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql查询语句相关的知识,希望对你有一定的参考价值。

<?php

include("conn.php");
$name=$_POST["name"];
$pass=$_POST["pass"];
$sql = "select * from user where name = '$name'.'$pass';
$query = mysql_query($sql);
if($hobj = mysql_fetch_object($query))
$hobj->pass != $_POST['pass'])
echo "密码错误!";

else
echo "登录成功!";


else
echo "用户名不存在!";


?>
这句怎么不能判断? 而是显示的错误页面

你下面有一句判断密码是否正确的,那么上面查询就只要查出用户名匹配的就是了。
整个代码如下:
<?php
include("conn.php");
$name=$_POST["name"];
$pass=$_POST["pass"];
$sql = "select * from user where name = \'$name\';
$query = mysql_query($sql);
if($hobj = mysql_fetch_object($query))
if($hobj->pass != $_POST[\'pass\'])
echo "密码错误!";

else
echo "登录成功!";


else
echo "用户名不存在!";

?>
参考技术A 1. $sql=xxx那一句缺少关闭字符串的引号, 外加逻辑错误;
2. $hobj->pass那一句缺少 if(;

改正后:
<?php

include("conn.php");
$name=$_POST["name"];
$pass=$_POST["pass"];
$sql = "select * from user where name = '$name'";
$query = mysql_query($sql);
if ($hobj = mysql_fetch_object($query))
if ($hobj->pass != $_POST['pass'])
echo "密码错误!";

else
echo "登录成功!";


else
echo "用户名不存在!";


?>
参考技术B 条件语句错误,少写了if

mysql递归查询语句

参考技术A mysql递归查询,mysql中从子类ID查询所有父类(做无限分类经常用到)

由于mysql 不支持类似 oracle with ...connect的 递归查询语法
之前一直以为类似的查询要么用存储过程要么只能用程序写递归查询.

现在发现原来一条sql语句也是可以搞定的

先来看数据表的结构如下:

id name parent_id
---------------------------
1 Home 0
2 About 1
3 Contact 1
4 Legal 2
5 Privacy 4
6 Products 1
7 Support 1
我要的要求是根据一个分类ID(这个分类ID可能是一个子分类),得到所有的父分类,下面是相应的SQL:

SELECT T2.id, T2.name
FROM (
SELECT
@r AS _id,
(SELECT @r := parent_id FROM table1 WHERE id = _id) AS parent_id,
@l := @l + 1 AS lvl
FROM
(SELECT @r := 5, @l := 0) vars,
table1 h
WHERE @r <> 0) T1
JOIN table1 T2
ON T1._id = T2.id
ORDER BY T1.lvl DESC

代码@r := 5标示查询id为5的所有父类。结果如下
1, ‘Home’
2, ‘About’
4, ‘Legal’
5, ‘Privacy’

自己仿照这看一下!

以上是关于mysql查询语句的主要内容,如果未能解决你的问题,请参考以下文章

如何查找MySQL中查询慢的SQL语句

我要用sql语句查询出MySql的各项监控指标...

怎么优化mysql查询语句

请教mysql中的一个查询语句

mysql like查询语句

mysql查询语句中like 的用法