2014-10-17 17 views
0

我在我的PHP脚本运行该SQL:如何正确地从一个SQL表PHP脚本隔离元素

$sql = "SELECT u.id AS id, ul.meta_value AS lastpaymentdate, rd.meta_value AS noemails 
FROM wp_users u 
LEFT JOIN wp_usermeta rd ON rd.user_id=u.id AND rd.meta_key='noemails' 
LEFT JOIN wp_usermeta ul ON ul.user_id=u.id AND ul.meta_key='lastpaymentdate' 
WHERE u.user_email = '[email protected]'"; 

$rs = $db->Execute($sql); 

下面是数据,它会输出,如果我跑了它在SQL控制台:

+------+-----------------+----------+ 
| id | lastpaymentdate | noemails | 
+------+-----------------+----------+ 
    2523  2013-10-30  0 

我需要将lastpaymentdate(2013-10-30)获取到数组$ lastRenewalDateParts中。

我想出是:

$lastRenewalDateParts = explode('-', $rs->data[0][1]); 

然而,它不能正常工作。它给了我一个空阵列。我哪里可能会出错?

编辑:这里是的print_r($ RS)的结果:

mysqli_driver_ResultSet Object 
(
    [connectionId] => mysqli Object 
     (
      [affected_rows] => 1 
      [client_info] => 5.5.30 
      [client_version] => 50530 
      [connect_errno] => 0 
      [connect_error] => 
      [errno] => 0 
      [error] => 
      [field_count] => 3 
      [host_info] => Localhost via UNIX socket 
      [info] => 
      [insert_id] => 0 
      [server_info] => 5.5.38-35.2 
      [server_version] => 50538 
      [stat] => Uptime: 2030485 Threads: 19 Questions: 2452324326 Slow queries: 6246 Opens: 22784920 Flush tables: 1 Open tables: 16800 Queries per second avg: 1207.752 
      [sqlstate] => 00000 
      [protocol_version] => 10 
      [thread_id] => 44573449 
      [warning_count] => 0 
     ) 

    [fields] => Array 
     (
      [id] => 2523 
      [lastpaymentdate] => 2013-10-30 
      [noemails] => 0 
     ) 

    [resultId] => mysqli_result Object 
     (
      [current_field] => 0 
      [field_count] => 3 
      [lengths] => Array 
       (
        [0] => 4 
        [1] => 10 
        [2] => 1 
       ) 

      [num_rows] => 1 
      [type] => 0 
     ) 

    [_currentRow] => 0 
    [_numOfRows] => 1 
    [_numOfFields] => 3 
    [fetchMode] => 1 
    [EOF] => 
    [record] => Array 
     (
     ) 

) 
+0

'$ rs-> data [0] [1]'是否包含日期? – 2014-10-17 16:51:11

+0

它应该是,但它是空的。 – msargenttrue 2014-10-17 16:53:21

+1

如果你使用'print_r($ rs)',你会得到什么? – 2014-10-17 16:59:23

回答

1

我去了解正确访问数据。我原来的尝试来了空:

echo $rs->fields[lastpaymentdate]; 

谢谢周杰伦:

echo $rs->data[0][1]; 

访问日期字段的正确方法!

相关问题