PHP:Mysql查询麻烦

时间:2014-01-06 18:59:43

标签: php mysql

<?php
    session_start();
    include "dbconnect.php";

     echo "email=".$_SESSION['email'];
    $uid = mysql_query("SELECT uid FROM master WHERE emailid='{$_SESSION['email']}'");
     echo $uid;
?>

sql查询不是woking的结果 email =asd@asda.com资源ID#5 这是回应电子邮件而不是uid。

2 个答案:

答案 0 :(得分:3)

mysql_query方法返回资源,而不是查询结果中的值。

你需要这样做:

$result = mysql_query("SELECT uid FROM master WHERE emailid='{$_SESSION['email']}'");
$uid = mysql_result($result,0);
echo $uid;

在调用mysql_result之前,您应该检查以确保您有一个有效的结果:

$result = mysql_query("SELECT uid FROM master WHERE emailid='{$_SESSION['email']}'");
if (mysql_num_rows($result) > 0) {
    $uid = mysql_result($result,0);
    echo $uid;
} else {
    echo "Error";
}

附注:您使用的是已弃用的mysql_*方法,应切换为mysqli_*PDO

答案 1 :(得分:0)

应该获取mysql_query()函数的结果以便在php中使用。 你可以使用:

mysql_fetch_array()

mysql_fetch_assoc()

mysql_fetch_object()

例如,您可以像这样使用它:

$uid = mysql_query($query);
while($row=  mysql_fetch_array($uid)){
 echo $row[1];
}

AND,顺便说一下,不推荐使用mysql扩展,将来会删除:使用mysqli或PDO