Php 将TINYINT(1)转换为字符串

Php 将TINYINT(1)转换为字符串,php,mysql,string,tinyint,Php,Mysql,String,Tinyint,我想将TINYINT(1)值转换为字符串。 假设subscription paid等于1(或true),那么当我从MySQL数据库检索值到.php文件时,结果将是“yes”。 如果订阅paid=0(或false),结果将为“否” 有没有办法将TINYINT(1)值转换为包含我所选单词的字符串 很抱歉,如果我是间接的,或者如果需要有关该问题的更多信息,您可以使用,如果: SELECT IF(`column` = 1, 'yes', 'no') FROM `table_name` 或: 或者您可以

我想将
TINYINT(1)
值转换为字符串。 假设subscription paid等于1(或true),那么当我从MySQL数据库检索值到
.php
文件时,结果将是“yes”。 如果订阅
paid=0
(或false),结果将为“否”

有没有办法将
TINYINT(1)
值转换为包含我所选单词的字符串


很抱歉,如果我是间接的,或者如果需要有关该问题的更多信息,您可以使用
,如果

SELECT IF(`column` = 1, 'yes', 'no') FROM `table_name`
或:


或者您可以根据数据使用
等。

您可以使用
,如果

SELECT IF(`column` = 1, 'yes', 'no') FROM `table_name`
或:


或者您可以根据数据使用
等。

您可以在PHP中执行此操作:

$number = 1; // or 0 - basically your MySQL variable
$word = $number ? "yes" : "no";
或者,在MySQL查询中执行此操作:

SELECT IF(`column_name` = 1, 'yes', 'no') FROM ...

您可以在PHP中执行此操作:

$number = 1; // or 0 - basically your MySQL variable
$word = $number ? "yes" : "no";
或者,在MySQL查询中执行此操作:

SELECT IF(`column_name` = 1, 'yes', 'no') FROM ...

考虑到MySQL没有提供任何合适的机制来阻止将
-1
33
插入
TINYINT
列,我只需针对零/非零进行测试:

SELECT CASE
    WHEN paid<>0 THEN 'Yes'
    WHEN paid=0 THEN 'No'
    ELSE 'Unknown'
END is_paid
FROM suscription

在显示时获取正确的字符串应该很简单。

考虑到MySQL没有提供任何合适的机制来阻止将
-1
33
插入
TINYINT
列,我只需针对零/非零进行测试:

SELECT CASE
    WHEN paid<>0 THEN 'Yes'
    WHEN paid=0 THEN 'No'
    ELSE 'Unknown'
END is_paid
FROM suscription

在显示时获取正确的字符串应该很简单。

有,但为什么要麻烦呢?只需在值到达PHP后进行转换即可,这更简单、更经济,并且不会导致您将部分业务逻辑放入SQL查询(不利于维护)?只要在值到达PHP后进行转换即可,这更简单、更经济,并且不会导致您将部分业务逻辑放入SQL查询(不利于维护)。看起来,
paid=0然后“Yes”
应该是
paid=0然后“No”
,反之亦然。谢谢。出于某种奇怪的弗洛伊德原因,我总是反过来做。似乎,
paid=0然后“Yes”
应该是
paid=0然后“No”
,反之亦然。谢谢。出于某种奇怪的弗洛伊德主义的原因,我总是反过来做。