嘿我正在尝试将全局变量插入表中。我传递的其他值也是变量,但它们可以正确发送。
这是我的查询。我的错误处理没有捕获任何东西
$result = mysql_query("INSERT INTO IPmanagement (userId, NameUsed, EmailUsed, IPStatus, Ip) VALUES ('" .$masterUserId . "', '" . $Entry['LeadName'] . "', '" . $Entry['LeadEmail'] . "', '0', '" . $ip . "')") or die(ErrorException("Function 6", "Error when processing the current lead. your data is unaffected and if the proccess continues please contact an Admin.", mysql_error(),$_SERVER['REMOTE_ADDR'], CurrentPath(), $masterUserId));
我的变量是在函数
之前全局定义的 $masterUserId = "1";
我尝试在变量发送之前回显该变量并且正确地回声我的表保持值为0.
这是我如何设置表格的屏幕截图。
知道发生了什么。我很难过,并尝试以不同的方式编写相同的代码,它仍然给我同样的问题。另外$ masterUserId将始终是一个int值
编辑:还想提一下变量是不同的.php,其中包含可变数据库和数据库登录信息。它被包含在顶部。 (不知道这是否相关)
答案 0 :(得分:1)
因为您没有插入IP STATUS
。这不是空的
\
您应该将其设置为null
或输入一些值。
如果您在函数中使用查询而不是像这样使用
function (){
//than define
$globat $masterUserId;
// use the global defination
// than use this variable with global value
}
答案 1 :(得分:0)
请勿使用mysql_*
。将其替换为mysqli_*
或PDO::
。
您是否尝试echo
mysql_query()
?做这个。将mysql_query("...");
替换为die("...");
并将其放入phpMyAdmin并尝试执行。
在您的表格中,我看到IP Status
是NOT NULL
。所以这可能会引发异常。在表格中使用default
值。
是的,你在mysql_error()
得到了什么结果?
答案 2 :(得分:0)
为什么'''或''在查询中? 我已经使用PHP函数sprintf清理了查询,并使用NULL作为EntryID(自动增量)
$query = sprintf("INSERT INTO IPmanagement (EntryID,userId, NameUsed, EmailUsed, IPStatus, Ip) VALUES (NULL,%s,%s,%s,'0',%s)",
$masterUserId , $Entry['LeadName'] , $Entry['LeadEmail'] , $ip ));
$result = mysql_query($query);
您还应该使用MySQLi或PDO