如何让PHP将MySQL中的空白字段转换为;0";?

如何让PHP将MySQL中的空白字段转换为;0";?,php,mysql,sequence,Php,Mysql,Sequence,我在MySQL中创建了一个名为“pid”的字段,我在PHP编码中在其他变量名称的末尾使用该字段来指示用户创建了7个模板设计中的哪一个。限制为7,此时他们会收到一条消息,表示他们已达到限制 除了字段为空(在用户创建第一个模板之前),我的代码可以正常工作。当我硬编码一个“0”时,它就工作了。但是,很明显,我需要使用“{pid}”变量来提取数据库中的模板序列 以下是PHP: <?PHP $pid = {pid}; $total_templates = 7; if ($total_te

我在MySQL中创建了一个名为“pid”的字段,我在PHP编码中在其他变量名称的末尾使用该字段来指示用户创建了7个模板设计中的哪一个。限制为7,此时他们会收到一条消息,表示他们已达到限制

除了字段为空(在用户创建第一个模板之前),我的代码可以正常工作。当我硬编码一个“0”时,它就工作了。但是,很明显,我需要使用“{pid}”变量来提取数据库中的模板序列

以下是PHP:

<?PHP
  $pid = {pid};
  $total_templates = 7;
  if ($total_templates > $pid) {
    echo "<a href='create.template.php'><img src='create_template.png'></a>";
  } else {
    echo "<b style='color: #CC0000'>Your limit of $pid Templates has been reached";
  }
?>

最好的方法是将mysql中的默认值设置为0。这样您就不会有任何问题。

最好的方法是将mysql中的默认值设置为0。这样就没有问题了。

您可以始终使用
intval
将其强制为整数。看


尽管我只是在MySQL中将pid字段的默认值设置为0。

您可以始终使用
intval
强制将其作为整数。看


尽管我只是将MySQL中pid字段的默认值设置为0。

您可以使用三元运算符设置
$pid
$pid=({pid}!=''?{pid}:'0')

如果
$pid
上有一个实值,它将显示它,否则它将显示0,我还没有测试这段代码

更好的方法是在SQL中为该字段设置默认值


有关

的更多信息,可以使用三元运算符设置
$pid
$pid=({pid}!=''?{pid}:'0')

如果
$pid
上有一个实值,它将显示它,否则它将显示0,我还没有测试这段代码

更好的方法是在SQL中为该字段设置默认值


有关

的详细信息,如果我理解您的问题,您能否将其设置为
0
(如果
为空)(


您还可以在mysql中为该字段设置默认值。如果您使用的是phpAdmin,请转到该表,单击“更改”操作并在其中设置默认值。如果您需要sql命令来执行此操作,我也可以为您获取。

如果我理解您的问题,如果
为空()
,您能否将其设置为
0



您还可以在mysql中为该字段设置默认值。如果您使用的是phpAdmin,请转到该表,单击“更改”操作并在其中设置默认值。如果您需要sql命令来执行此操作,我也可以为您获取。

显示sql查询。Blank对您来说可能是“Blank”,或者对SQL/PHP来说可能是
NULL
如果($pid==“”){$pid=0;}
您是在寻找数据库的一次性修复程序还是在存储到数据库之前检查用户输入并将其转换为“0”的程序?无关:
b
元素已弃用。你想要一个更具语义的元素吗
并像理智的人一样使用CSS。@Shredder我想你的意思是在答案末尾单击“这篇文章对你有用吗?”这个问题的“是”,对吗?如果是这样的话,我已经完成了前面所有的问题。再次感谢您演示SQL查询。Blank对您来说可能是“Blank”,或者对SQL/PHP来说可能是
NULL
如果($pid==“”){$pid=0;}
您是在寻找数据库的一次性修复程序还是在存储到数据库之前检查用户输入并将其转换为“0”的程序?无关:
b
元素已弃用。你想要一个更具语义的元素吗
并像理智的人一样使用CSS。@Shredder我想你的意思是在答案末尾单击“这篇文章对你有用吗?”这个问题的“是”,对吗?如果是这样的话,我已经完成了前面所有的问题。再次感谢。问题是我遇到了这个错误:“Parse error:syntax error,意外的“;”,因为
{pid}
变量是空的,因此代码会看到
$pid=
而不是一些整数,例如
$pid=0@afarzit我试过了。但问题是它没有通过
$pid={pid}
{pid}
为空时(这会导致它看到
$pid=;
,并抛出上面提到的分析错误。@user1322707我一开始误解了你的问题。请尝试我所做的更改。问题是我得到了这个错误:“分析错误:语法错误,意外的';”,因为
{pid}
变量为空,因此代码看到的是
$pid=;
而不是某个整数,例如
$pid=0;
@afarzit我尝试了它。但问题是当
{pid}
为空时,它没有通过
$pid={pid};
(这会导致它看到
$pid=;
,并抛出上面提到的分析错误。@user1322707我一开始误解了你的问题。尝试我所做的更改。我认为这会起作用。但是当字段为空并抛出分析错误(分析错误:语法错误,意外“;”)时,代码会看到
$pid=;
)在它到达
if
语句之前。你能告诉我你从哪里得到
{pid}
吗?这将非常有帮助;我以前没有见过。我正在尝试修补其他人的代码,它从所有字段名创建标记,用于插入整个html页面。所有标记都包含在这些括号中{}。我不确定是哪个文件或代码行在执行此操作。它可以b
替换标签t($q->f(“字段名称”),$t)
Hmm..这似乎是一个用户定义的函数。对不起,如果你能告诉我这些标记是如何创建的,我会提供更多帮助。如果你认为它们是在函数中创建的,你能找到函数定义并在你的帖子中编辑它吗?>而不是null
对于该列,您不应该遇到此问题。我原以为这会起作用。但当字段为空并引发解析错误时,代码会看到
$pid=;
if ($total_templates > intval($pid))
$pid={pid};
if(empty($pid))
    $pid = 0;