php mysql_query参数_关于php:mysql_query()期望参数1是字符串,给定资源

本问题已经有最佳答案,请猛点这里访问。

所以我的代码是这个..

$password=(!isset($_POST['password']));

$username=(!isset($_POST['username']));

$username = mysql_real_escape_string($username);

$password = mysql_real_escape_string($password);

$query = mysql_query ("SELECT * FROM tb_funcionario WHERE username='$username' and password='$password'");

$result = mysql_query($query);

var_dump($result);

$num_rows = $result->$num_rows;

if ($num_rows)

{

echo"username already exist";

}

else

{

$query ="INSERT INTO tb_funcionario (nome_funcionario, username, password) VALUES (

'$_POST[nome_funcionario]',

'$_POST[username]',

'$_POST[password]'

)";;

$result = mysql_query($query) or die (mysql_error());

}

mysql_query($query);

mysql_close($bd_con);

?>

它总是给我"mysql_query()期望参数1是字符串,资源给定",我无法弄清楚如何解决它。

你能帮助我吗?

我最喜欢的一点:$username=(!isset($_POST['username']));

正如@ lvaroG.Vicario指出的那样。 $username=(!isset($_POST['username']));将返回true或false。

我最喜欢的一点:像@lvaroGonzlez这样无用的人批评并且没有贡献解释为什么他们表现得很聪明。 应该是permaban :)

@LiquidCore如果您想了解更多细节,那就称为Cargo cult编程。 它通常是将其他地方发现的代码块拼凑在一起的结果,这些代码块并不是程序员真正理解的。 如你所见,你可以问得很好。 没有必要诉诸个人侮辱(当然,除非你找到一个好的争吵,所谓的一个巨魔)。

@lvaroGonzlez你是第一个发布垃圾的人,他们没有以任何方式解决问题,货物编程与否。 这个社区的精神不是关于谁在学习的笑话。 让自己来吧。:)

这是你的问题:

$query = mysql_query ("SELECT * FROM tb_funcionario WHERE username='$username' and password='$password'");

$result = mysql_query($query);

您正在第一行运行查询,该查询返回"资源"作为查询的结果。然后在下一行,您尝试使用该资源作为另一个查询再次运行。您不需要第二行,可以在第一行设置$result。

您的代码中有一些不必要/错误的行,尤其是:

$query = mysql_query ("SELECT * FROM tb_funcionario WHERE

username='$username' and password='$password'");

$result = mysql_query($query);

我想你想写:

$query ="SELECT * FROM tb_funcionario WHERE

username='$username' and password='$password'";

$result = mysql_query($query);

你的问题在这里$query = mysql_query ("SELECT * FROM tb_funcionario WHERE username='$username' and password='$password'");

那么你正在运行mysql_query($query)并且它正在尝试对第一个语句返回的结果集运行命令,而不是像它实际应该是的字符串

$query = mysql_query ("SELECT * FROM tb_funcionario WHERE username='$username' and password='$password'");

$result = mysql_query($query);

是不正确的。您应该只是将查询字符串分配给$query - 您正在执行的操作是运行查询一次,然后尝试再次将查询结果作为查询运行。你应该有:

$query ="SELECT * FROM tb_funcionario WHERE username='$username' and password='$password'";

$result = mysql_query($query);

这会给你你寻求的结果。

你的问题来自这些方面:

$query = mysql_query ("SELECT * FROM tb_funcionario WHERE username='$username' and    password='$password'");

$result = mysql_query($query);

你两次调用mysql_query()函数。

你可以做:

$sql ="SELECT * FROM tb_funcionario WHERE username='$username' and password='$password'";

$result = mysql_query($sql);

或者:

$result = mysql_query("SELECT * FROM tb_funcionario WHERE username='$username' and password='$password'"; );

$query ="INSERT INTO tb_funcionario (nome_funcionario, username, password) VALUES (

'".mysql_real_escape_string($_POST[nome_funcionario])."',

'".mysql_real_escape_string($_POST[username])."',

'".mysql_real_escape_string($_POST[password])."'

)";

?>

看这个:

$query = mysql_query ("SELECT * FROM tb_funcionario WHERE username='$username' and password='$password'");

$result = mysql_query($query);

将其更改为:

$query ="SELECT * FROM tb_funcionario WHERE username='$username' and password='$password'");

$result = mysql_query($query);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值