-1

你好我需要做这样的事情

检查一列是否有值,如果值是一,则 $display_output 是“某物” 如果值是二,则 $display_output 是“其他”

到目前为止我有这个

$sql_istorrenthere = $this->query("SELECT CASE WHEN torrent_download ='1' THEN $display_output = GMSG_NOTORRENT ELSE $display_output = GMSG_TORRENT ; FROM" . DB_PREFIX . "auctions"
4

2 回答 2

1

你不能这样设置变量。您可以将 torrent_download 的值设置为“某物”或“其他”:

$sql_istorrenthere = $this->query(
    "SELECT 
      CASE WHEN torrent_download = '1' 
        THEN 'something' 
        ELSE 'other' 
      END AS torrent_download
    FROM" . DB_PREFIX . "auctions"
);
于 2012-05-01T07:21:00.280 回答
0
SELECT IF(STRCMP(torrent_download,'1'),'GMSG_TORRENT','GMSG_NOTORRENT') 
AS display_output
FROM " . DB_PREFIX . "auctions";

然后在 PHP 中,您可以执行以下操作:

$response = $sql_istorrenthere -> fetch_assoc();
$display_output = $response['display_output'];

但是有更好的方法可以做到这一点,这些方法都不涉及尝试将变量名设置到查询本身中。

于 2012-05-01T07:23:09.597 回答