php - 以下代码出了什么问题?

标签 php mysql sql

我的 PHP 代码如下:

$data = $grid->GetData();

foreach($data as $key => $value) { 
          $sql  =" SELECT users_details.user_state,users_details.user_city FROM ".TBL_USERS." AS user, "
          $sql .= TBL_USERS_DETAILS." AS users_details WHERE user.user_id = ". $data['user_id']; 

echo $sql; die;
          $this->mDb->Query( $sql);
          $data = $this->mDb->FetchArray();

        }

数组$data如下:

Array
(
    [0] => Array
        (
            [user_id] => 9def02e6337b888d6dbe5617a172c18d
            [user_first_name] => Ashutosh
            [user_last_name] => Modi
            [user_email] => ashutosh.modi@gmail.com
            [user_status] => enable
            [user_subscription] => lifetime
            [user_registered_type] => online
            [user_reg_date] => 1325581397
        )

    [1] => Array
        (
            [user_id] => a6d22e4cc3f65778a60b359842bcec82
            [user_first_name] => Dilip
            [user_last_name] => Modi
            [user_email] => dm.modi@gmail.com
            [user_status] => enable
            [user_subscription] => period
            [user_registered_type] => online
            [user_reg_date] => 1325152066
        )

)

现在在查询部分,我想在 where 条件下使用上面数组中的 user_id 值,但我做不到。我在某处出错了吗?你能帮我改正吗?当我打印查询时,出现空白屏幕而不是正确的查询。提前致谢。

最佳答案

您在 sql 命令中使用了不正确的数据变量:

代替

$data['user_id']

应该是

$value['user_id']

因为您正在迭代 $data 并且每个中间结果都在 $key/$value 对中

编辑: 第二个错误是这一行:

$sql ="SELECT users_details.user_state,users_details.user_city FROM ".TBL_USERS."AS user, "

这一行末尾缺少分号

你得到空白页面的原因可能是因为 PHP 错误。如果您启用了 error_reporting,您会看到 PHP 错误输出的错误。

关于php - 以下代码出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18590724/

相关文章:

php - 什么是 Mysql 链接?

sql - 在 Elasticsearch 中使用 Crate SQL 模块(插件)

php - Symfony2 将父实体 ID 设置为关系表

php - 如何在 PHP 中从 SQL 数据库获取最近的日期匹配

sql - 在sql中选择带有短语计数的数据

php - 使用 html5/javascript 和 php 上传/更改头像照片?

php - 在php中获取没有列名的SQLdata

php - 如何在 phalcon 框架中同时连接多个数据库在模型类中同时使用而不是只有一个

php - 如何将 javascript 变量传递给 php 并重新加载框架

php - MySQL 多个表中的公共(public)列名