mysql_real_escape_string数据控件

时间:2017-03-14 09:33:59

标签: php mysql

我在创建咨询之前检查了我的数据。

行如:

$valpar_sup_reg = isset($_POST["valpar_sup_reg"]) ? mysql_real_escape_string($_POST['valpar_sup_reg']) : 0;

我只是想控制我的var上没有数据来为所有数据设置0。

但是咨询$valpar_sup_reg给了我''而不是0

好的,我已经改成了mysqli语句

$valpar_sup_reg = !empty($_POST["valpar_sup_reg"]) ? mysqli_real_escape_string($conn2,$_POST["valpar_sup_reg"])  : 0;

感谢所有人和否定者:)

2 个答案:

答案 0 :(得分:1)

1)停止使用已弃用的mysql_ *函数
2)isset只检查变量是否设置& ''字符串将在isset函数中反映为true,而是使用!empty
3)你必须得到空字符串,即''在你的$ _POST使用下面的代码而不是

$valpar_sup_reg = !empty($_POST["valpar_sup_reg"]) ? mysqli_real_escape_string($mysql_conn_link, $_POST["valpar_sup_reg"]) : 0;

以下为空值检查以下值:
1)"" (空字符串)
2)0(0为整数)
3)0.0(0作为浮点数)
4)&​​#34; 0" (0作为字符串)
5)NULL
6)错误
7)array()(空数组)
8)$ var; (声明的变量,但没有值)

答案 1 :(得分:0)

$valpar_sup_reg = !empty($_POST["valpar_sup_reg"]) ? mysql_real_escape_string($_POST['valpar_sup_reg']) : 0;

&安培;正如Raptor评论的那样,更好地使用MySQLi或PDO。