Php 如果列有一行=$variable,并且在同一行的另一列中=$variable2返回值1

Php 如果列有一行=$variable,并且在同一行的另一列中=$variable2返回值1,php,Php,很抱歉把标题弄混了。但我不知道该怎么解释。(我的英语说得不太好) 下面是一张更清晰的图片: 如果pic_name=328.jpg且user=myhrmans,则返回值为1 否则,如果找不到值user=myhrmans,则返回0,例如。不管怎样,我能成功吗 谢谢:)我不太清楚你的意思,但我会尝试一下 您的查询应该以如下方式编写: SELECT user, pic_name, IF(user = 'myhrmans' AND pic_name = '328.jpg', 1, 0) AS v

很抱歉把标题弄混了。但我不知道该怎么解释。(我的英语说得不太好)

下面是一张更清晰的图片:

如果pic_name=328.jpg且user=myhrmans,则返回值为1 否则,如果找不到值user=myhrmans,则返回0,例如。不管怎样,我能成功吗


谢谢:)

我不太清楚你的意思,但我会尝试一下

您的查询应该以如下方式编写:

SELECT user, pic_name,
    IF(user = 'myhrmans' AND pic_name = '328.jpg', 1, 0) AS value
    FROM yourtable
    WHERE user = myhrmans;
从PHP执行时(以及获取值后),您的查询将返回以下数组:

$result = array(
    0 => array(
        'user' => 'myhrmans',
        'pic_name' => '326.jpg',
        'value' => 0
    ),
    1 => array(
        'user' => 'myhrmans',
        'pic_name' => '329.jpg',
        'value' => 0
    ),
    2 => array(
        'user' => 'myhrmans',
        'pic_name' => '328.jpg',
        'value' => 1
    ),
    3 => array(
        'user' => 'myhrmans',
        'pic_name' => '319.jpg',
        'value' => 0
    )
);

如果我能理解的话,这就是你想要的。

我想这就是我想要的。如果我键入:$likedbehere=$row3['value'];如果我写echo$likedbefore,如果有一个值为1,我会得到1吗?哼。事实上不可以。您必须在数组中查找
value
为1的位置。你不能从一开始就猜到它,否则它就不需要在数据库中查找了。有什么我可以帮你的吗?我需要在PHP中的if语句中检查这一点。