将PHP false插入mysql

我的MySQL表包含一个tinyint(1)值,用于存储true或false值.

我有以下PHP变量:

$name = '';
$description = '';
$active = true;

现在我的SQL查询如下:

$query = "INSERT into my_table (my_name,my_description,active) VALUES ('$name','$description',$active) ";

这只有在$active的值为true时才有效.一旦活动变量为false,php将插入一个空字符串,而不是0,因此查询将失败.

在这样的查询中使用false的最佳方法是什么?

我应该手动将false转换为’0’字符串吗?
是否更好地立即在PHP方面使用stings?换言之,声明:$active =’1′;
或者我可以以某种方式让PHP总是将false转换为’0’字符串?

谢谢
迈克尔
最佳答案
首先,您应该使用mysql_real_escape_string或mysqli_real_escape_string或其他适合您的数据库连接的方法来转义您的值以避免sql注入然后针对您的特定问题,您可能会执行以下操作:

$query = "INSERT into my_table (my_name,".($active?1:0) .")";

或者将$active转换为int也应该做的工作:

$query = "INSERT into my_table (my_name,".((int) $active)).")";

dawei

【声明】:丽水站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章