gpt4 book ai didi

php - MySQL PHP 当知道同一个表中的另外两个值时从数据库获取值

转载 作者:行者123 更新时间:2023-11-30 01:08:32 26 4
gpt4 key购买 nike

我有一个 MySQL 表 - 在我的问题中,我有两个值,每个值我都知道在单独的列中,但我需要根据我知道的两个值找到第 3 个值并回显它。

这是我尝试过的,但没有成功:

<?php
...

$profile_url = 'xyz';

$pic_switch = array (
'01' => mysql_query("SELECT mm_image_switch FROM $tbl_name04 WHERE profile_url = '$profile_url' AND mm_image_id ='01'")
'02' => mysql_query("SELECT mm_image_switch FROM $tbl_name04 WHERE profile_url = '$profile_url' AND mm_image_id ='02'")
'04' => mysql_query("SELECT mm_image_switch FROM $tbl_name04 WHERE profile_url = '$profile_url' AND mm_image_id ='04'")
...
?>

我想获取当profile_url为xyz、mm_image_id = 01等时mm_image_switch行的值...

当我 echo $pic_switch['01'] - 我只得到 profile_url 值。

最佳答案

mysql_query() 不返回 mm_image_switch 的值,它返回 resource ,您将作为参数传递给其他函数(例如 mysql_fetch_row() )以迭代此查询的结果。你必须做更多类似这样的事情:

$res = mysql_query("SELECT mm_image_switch FROM ...");
$row = mysql_fetch_assoc($res);

if ($row !== FALSE) // if the query actually returned a matching row
{
$pic_switch['01'] = $row['mm_image_switch'];
}
else
{
$pic_switch['01'] = 'Not found';
}

但是您可以简单地执行以下操作,而不是对每个 ID 执行一次查询:

function get_pic_switches($profile_url, $ids)
{
global $tbl_name04;

$ret = array();
$res = mysql_query("SELECT mm_image_id, mm_image_switch FROM $tbl_name04 WHERE profile_url = '$profile_url' AND mm_image_id IN ('".implode("', '", $ids)."')");

while ($row = mysql_fetch_row($res))
{
$ret[$row[0]] = $row[1]; // $ret[mm_image_id] = mm_image_switch;
}

return $ret;
}

$pic_switch = get_pic_switches('xyz', array('01', '02', '04'));

请注意,扩展 mysql_ 自 PHP 5.5.0 起已弃用,并将在 PHP 的 future 版本中删除。建议使用其替代方案之一编写新代码,例如 MySQLiPDO .

关于php - MySQL PHP 当知道同一个表中的另外两个值时从数据库获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19613006/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com