php - 如何在MVC编程模型中获取mysql DB数据
问题描述
在我的项目中,我选择了 MVC 编程模式。
首先,我定义了一个特定的 Trade 类,用于从 DB 获取数据;Trade.php 类的代码是:
namespace model;
class Trade Extends \Mysql\Crud {
private $ltb;
public function getLastTradeTime($uid, $ip) {
//$params = array('uid' => '36998020','ip' => $ip);
$sql = "SELECT sys_dateline FROM ms_trade WHERE uid=36998020 AND sys_ip='183.62.232.198' ORDER BY id DESC LIMIT 1;";
$this->ltb = $this->getDb()->query($sql);
return $this->ltb;// There is only one return value:1528957574
}
}
Trade.php 类扩展了 \Mysql\Crud 类。
Crud.php 类用于连接 DA,以及创建、更新、删除 sql 等。
并且我专门测试了 Crud.php 类的每个函数都成功了。
Crud.php 类的代码是:
<?php
namespace Mysql;
class Crud {
private $db;
protected $fields;
public $variables;
public function __construct($data = array()) {
if ($this->fields && $data) {
foreach ($data as $k => $d) {
if (!in_array($k, $this->fields)) {
unset($data[$k]);
}
}
}
$this->variables = $data;
}
public function setDb($db) {
$this->db = $db;
}
public function getDb() {
//connecting function
}
public function __set($name,$value){
//set value
}
public function __get($name)
{
//get value
}
public function save($id = "0") {
//for saving value
}
public function create() {
//for create sql
}
public function delete($id = "") {
//for delete sql
}
}
现在我有 1.php 控制页面,用于通过 Trade.php 类获取数据,
$uid = $login_userinfo['uid'];
$ip = getClientIp();
$trade_model = new \model\Trade();
$lastTrade_time = $trade_model->getLastTradeTime($uid, $ip); //the value should be 1528957574
但是 lastTrade 的值是“数组”;似乎没什么不对。谁能帮我一个忙。
解决方案
它作为一个多维数组返回给您,其中一个元素包含一个关联数组和一个元素。
$lastTrade_time[0]['sys_dateline']
应该给你你的时间戳。然后通过 etc 转换为任何格式date()
或以您想要的任何方式使用。
推荐阅读
- r - R:MICE 和向后逐步回归
- swift - 消息气泡的双击识别器(Messagekit)
- android - Android Retrofit 2:以编程方式将超时时间增加 10 秒
- javascript - 将日期转换为 UTC 时间戳
- animation - 有没有办法让一个 Three.js 对象位置固定在某个点,而其他对象在动画结束前移动
- machine-learning - 摩西调音无法运行提取器
- javascript - 除了嵌入代码和在 Chrome 浏览器开发人员控制台上编写的代码外,不显示 Javascript 警报弹出窗口
- python - 熊猫一对一的行合并,保持左侧的结构?
- javascript - 如何在 html css js 创建的键盘中的符号和数字之间切换?
- html - 如何在使用 powerflow 时将 html 转换为错误最少的单词?