错误:查询为空

时间:2013-10-19 10:42:04

标签: php sql

$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));部分现在我得到执行但它并没有真正添加数据库的条目,我无法调用它。这是新名称。

2 个答案:

答案 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))