从Magento2数据库中选择数据的正确方法
我创建了一个PHP函数来显示数据库中的数据,从Magento2数据库中选择数据的正确方法,magento2,magento2.1,Magento2,Magento2.1,我创建了一个PHP函数来显示数据库中的数据, 我要把它包括在我的megento2块函数中 这是我的选择数据的代码 $dates = date("Y-m-d"); $phone = $_POST["phone"]; $sql = "SELECT * FROM otpp WHERE phone = '$phone' AND dates = '$dates'"; $result = mysqli_query($conn, $sql); $count = mysqli_num_ro
我要把它包括在我的megento2块函数中 这是我的选择数据的代码
$dates = date("Y-m-d");
$phone = $_POST["phone"];
$sql = "SELECT * FROM otpp WHERE phone = '$phone' AND dates = '$dates'";
$result = mysqli_query($conn, $sql);
$count = mysqli_num_rows($result);
// if exists ?
if ($count > 0) {
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
$otppass = $row["otp"];
echo $otppass;
} else {
echo "0 results";
}
我可以用这种方法从数据库获取数据吗?或者用其他方法从数据库获取数据吗?您可以用下面的代码从数据库获取数据
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$resource = $objectManager->get('Magento\Framework \App\ResourceConnection');
$connection = $resource->getConnection();
$tableName = $resource->getTableName('yourtablename');
$dates = date("Y-m-d");
$phone = $_POST["phone"];
$sql = "SELECT * FROM otpp WHERE phone = '$phone' AND dates = '$dates'";
$result = $connection->fetchAll($sql);
echo '<pre>'; print_r($result); echo '</pre>';
谢谢//请尝试以下代码
<?php
namespace <CompanyName>\<ModuleName>\Model;
use Magento\Framework\Model\AbstractModel;
class Data extends AbstractModel
{
protected function _construct()
{
$this->_init('<CompanyName>\<ModuleName>\Model\ResourceModel\Data');
}
}
Magento2采用面向对象的方法来利用数据库中的数据 . 那就是模型和集合 步骤1 创建模型
<?php
namespace <CompanyName>\<ModuleName>\Model\ResourceModel;
use \Magento\Framework\Model\ResourceModel\Db\AbstractDb;
class Data extends AbstractDb
{
protected function _construct()
{
$this->_init('TableName', 'id'); //id is a primary key
}
}
Magento2有一个构建良好的orm。你使用原始sql查询吗?这对我很有用
<?php
namespace <CompanyName>\<ModuleName>\Model;
use Magento\Framework\Model\AbstractModel;
class Data extends AbstractModel
{
protected function _construct()
{
$this->_init('<CompanyName>\<ModuleName>\Model\ResourceModel\Data');
}
}
<?php
namespace <CompanyName>\<ModuleName>\Model\ResourceModel;
use \Magento\Framework\Model\ResourceModel\Db\AbstractDb;
class Data extends AbstractDb
{
protected function _construct()
{
$this->_init('TableName', 'id'); //id is a primary key
}
}
namespace <CompanyName>\<ModuleName>\Model\ResourceModel\Data;
use Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection;
class Collection extends AbstractCollection
{
protected function _construct()
{
$this->_init(
'<CompanyName>\<ModuleName>\Model\Data',
'<CompanyName>\<ModuleName>\Model\ResourceModel\Data'
);
}
}
namespace <CompanyName>\<ModuleName>\Block;
use Magento\Framework\View\Element\Template\Context;
use <CompanyName>\<ModuleName>\Model\Data;
use Magento\Framework\View\Element\Template;
class Hello extends Template
{
public function __construct(Context $context, Data $model)
{
$this->model = $model;
parent::__construct($context);
}
public function getDatas()
{
$Datas = $this->model->getCollection();
return $Datas;
}