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”
,反之亦然。谢谢。出于某种奇怪的弗洛伊德主义的原因,我总是反过来做。