错误:查询为空


Error: Query was empty

$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 脚本中时,它会返回查询为空。我环顾四周,但 Web 上的所有错误都是没有分配给变量或有多个插入语句等等。所以我的问题是,当我实际从 Web 表单输入数据时,为什么我会得到这个?错误:查询为空

附言好的,所以我的意思是:我删除了你第二次说的支票,即 if (!mysql_query($ins,$con)) { die('错误:' . mysql_error($con)); } 部分现在我得到了执行,但它并没有真正将条目添加到数据库中,我无法调用它。这是新名称。

你基本上尝试使用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 注入的影响。此外,mysql_*函数已弃用,很快就会被删除。我建议你切换到MySQLi或PDO并开始使用参数化查询以确保安全。

这是

不正确

 if (!mysql_query($ins,$con))

为什么要执行查询的查询?

只需使用 if (!$ins||!$con)) 如果您尝试检查查询和连接是否成功