PHP,MYSQL:根据另外两个数据库字段的结果打印数据库字段


PHP, MYSQL: print a DB field based on the result of two other DB fields

我需要从数据库中的表中选择两个字段,如果这两个字段不为空,那么我需要从数据库中选择一个新字段并将其打印到我的页面上的div类中。

我已经设法创建了一个函数,该函数应该调用表中的两个初始字段,但无法弄清楚如何完成其余的工作。

function returnPlanMoon($val,$con)
{
    return (mysqli_query($con, "SELECT Planet, Moon From MK1 WHERE id = 1"));
}

最终,我希望能够检查两个初始结果,并根据答案选择要打印的数据库中的特定字段。

调用mysqli_query返回一个具有num_rows属性的mysqli_result对象。只需检查$result->num_rows是否大于 0,然后运行后续查询。根据正在运行的查询,您也许能够联接查询并跳过第二个查询。

如果返回了结果,但PlanetMoon为空(空/空字符串),则需要从结果中提取这些值,并通过mysql_fetch_assoc检查每个值:

if(mysql_num_rows($result) > 0){
    $row = mysql_fetch_assoc($result);
    if(!empty($row['Planet'] and !empty($row['Moon'])){
     //run query here, grab Planet and Moon from $row:
     //mysqli_query($conn, "select foo from bar where Planet={$row['Planet']} and Moon={$row['Moon']}");
    }
}
function returnPlanMoon($val,$con){
    $result (mysqli_query($con, "SELECT Planet, Moon From MK1 WHERE id = $val"));
    $num_rows = mysql_num_rows($result);
    if($num_rows > 0){
       // select a new field from the database and print that out into a div class on my page.
    }
}