从WordPress数据库中的两个表返回结果

时间:2019-07-09 01:11:34

标签: php wordpress foreach

我有这两个表:

lic_key_tbl

name    license_key     email
----------------------------------------
john    95g12dhp0       john@example.com
cath    bdjagdlo8       cath@example.org
john    8nawjdcms       john@example.com
alex    mhi79y32p       alex@alex.com

lic_reg_domain_tbl

lic_key     registered_domain
-----------------------------
95g12dhp0   google.com
8nawjdcms   abc.com
bdjagdlo8   microsoft.com
mhi79y32p   facebook.com

基本上,我试图通过比较每个表中匹配的许可证密钥来显示属于当前登录用户的已注册域的列表(在本示例场景中,假设我以john@example.com身份登录)。

我知道这段代码不完整...

/* User info */
global $userdata;
$user_info              = get_userdata($user_ID);
$user_email             = $userdata->user_email;

/* DB table names */
global $wpdb;
$lic_key_table          = $wpdb->prefix . 'lic_key_tbl';
$lic_reg_domain_table   = $wpdb->prefix . 'lic_reg_domain_tbl';

$results = $wpdb->get_results("SELECT * FROM $lic_reg_domain_table);

foreach ( $results as $result ) { ?>

    <li>
        <?php echo $result->registered_domain; ?>
    </li>

<?php } 
?>

...但是如果我以john@example.com的身份登录,那么我看到的结果应该是:

google.com
abc.com

我希望这是有道理的。

1 个答案:

答案 0 :(得分:1)

使用准备好的语句来防止SQL注入攻击。

const express = require('express');
const router  = express.Router();
const cMod = require('../model/itemSchema');
const dMov = require('../model/nameSchema')

router.get('/items/edit/:id', (req, res, next)=>{
    dMov.findById(req.params.id)
    .then((editM)=>{
        cMod.find()
        .then((aItem)=>{
            res.render('items/edit', {aItem, editM})
        })
    })
    .catch((error)=>{
        next(error)
    })
    .catch((err)=>{
        next(err);
    })
})


router.post('/items/updating/:id', (req, res, next)=>{
    let id = req.params.id;
    dMov.findByIdAndUpdate(id, req.body)
    .then((upMov)=>{
        res.redirect('/')
    })
    .catch((err)=>{
        next(err);
    })
})



//HandleBars The View

 <label>Item1:</label>
 <input name="Item1" type="text" value="{{editM.Item}}">
 <br><br>
 <label>Star:</label>
 <select name="Names" > 

 {{#each aItem}}

<option value="{{this._id}}" selected="selected">{{this.name}}</option>

 {{/each}};

 </select>