【问题标题】:Inner join with where clause PHP使用 where 子句 PHP 的内连接
【发布时间】:2014-01-30 13:56:33
【问题描述】:

我有以下问题

$query = "SELECT userRoles.UserRoleType
FROM user
INNER JOIN userRoles
ON user.RoleID = userRoles.RoleID
WHERE( user.UserName = '" . $username . "' AND user.Password = '" . $pass . "')";

其中 $username 和 $pass 是通过表单传递的变量

查询在 phpMyadmin 中运行良好,但由于某种原因,即使它似乎正在返回信息,它也不会在 PHP 中运行。

尝试多次更改查询,例如将 WHERE 子句移到连接上方、检查表名、谷歌搜索等。

【问题讨论】:

  • $username$password 中的实际内容是什么?你echo $query了吗?
  • 两个变量都包含字符串。我是 PHP 新手,有没有办法从另一个页面回显变量?即包含 HTML 的 php 页面?
  • 它如何似乎在返回信息?你有没有逃避那些$username & $pass 参数,如果是这样,用什么?另外,你确定这个用户一个角色类型吗?
  • @Wrikken 是的,我目前只存储了一个用户。我删除了连接,查询运行得很好。我还通过从该表中选择所有运行良好的记录来测试其他表的完整性。
  • 之后,执行echo $query; die; 并给我们输出。

标签: php sql


【解决方案1】:

问题已解决

当将查询作为数组返回时,我有一个这样的 if 语句:

if($result[0]>0)
{
  //do something with returned data
}

为了解决这个问题,我只需要检查数组的大小是否大于零,表明已找到一条记录。

这里是解决方案

if($result>0)
{
  //do something with returned data
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 2015-09-19
    • 2016-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多