php - 将 TINYINT(1) 转换为字符串

标签 php mysql string tinyint

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

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

如果我是间接的或需要有关该问题的更多信息,我很抱歉

最佳答案

鉴于 MySQL 没有提供任何合适的机制来防止将 -133 插入到 TINYINT 列中,我将简单地测试一下针对零/非零:

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

问题也被标记为 PHP。我认为尽可能使用原生类型会更干净:

if (is_null($row['paid']) {
    $paid = null;
}else{
    $paid = $row['paid']!=0;
}

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

关于php - 将 TINYINT(1) 转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23392730/

相关文章:

php - 将 mysqli 与 oop php 一起使用

java - c3p0 getConnection() 抛出异常 : A ResourcePool could not acquire a resource from its primary factory or source

php - 使用 Apache 和 PHP 连接到 MySQL

php - 如何保存裁剪后的图像

php - 订购和选择常用标签

php - UTF-8贯穿始终

ruby - 提取句子/字符串中的最后一个词?

java - 在字符串上使用 ReplaceAll 来替换\\s by\t 不起作用。漏洞?

将一个字符串复制到另一个不带\0的字符串

php - Wordpress - 将自定义字段添加到以编程方式创建的自定义帖子中