$nam=$_POST['name'];
$fname=$_POST['family'];
$dat=$_POST['date'];
$bal=$_POST['balance'];
$curr=$_POST['currency'];
$con=mysql_connect('localhost', 'xxxx', 'xxxx', 'xxxx');
$db=mysql_select_db('users',$con);
$ins=mysql_query("INSERT INTO users (Name, FamilyName, Date, Balance, Currency) VALUES ('$nam', '$fname', '$dat', '$bal', '$curr'))",$con);
if (!mysql_query($ins,$con))
{
die('Error: ' . mysql_error($con));
}
所以小伙子们,我得到了这个代码,我正在尝试做一些像注册表格这样的事情。我已经检查了变量的名称,并且在SQL数据库中执行时查询本身正在工作。问题是,当我将它包含在我的PHP脚本中时,它返回Query为空。我环顾四周,但Web上的所有错误都不是分配给变量或有多个插入语句等等。所以我的问题是,当我实际从网络表单输入数据时,为什么我会这样做?错误:查询为空
P.S。 好吧,我所说的是:我删除了你说的第二次检查是if(!mysql_query($ ins,$ con)){die('错误:' .mysql_error) ($ CON));部分现在我得到执行但它并没有真正添加数据库的条目,我无法调用它。这是新名称。
答案 0 :(得分:3)
你基本上试图使用mysql_query()
两次:
$ins=mysql_query("INSERT INTO users (Name, FamilyName, Date, Balance,
Currency) VALUES ('$nam', '$fname', '$dat', '$bal', '$curr'))",$con);
if (!mysql_query($ins,$con))
{
如果查询执行正确, $ins
将包含有效的MySQL资源,但您尝试在if
条件下再次使用它。
只需从条件中移除mysql_query()
部分,如下所示:
if(!$ins) {
# code ...
}
这应该解决此特定问题。但请注意,您的代码可以SQL injection启用。此外,mysql_*
函数已弃用,很快就会被删除。我建议您切换到MySQLi或PDO并开始使用参数化查询以确保安全。
答案 1 :(得分:0)
这是不正确的
if (!mysql_query($ins,$con))
为什么要执行查询查询?
如果您要检查查询和连接是否成功,请使用if (!$ins||!$con))