mysql_query()期望参数1为字符串,给定资源 [英] mysql_query() expects parameter 1 to be string, resource given

查看:143
本文介绍了mysql_query()期望参数1为字符串,给定资源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我的代码是这个..

so my code is this..

<?php

$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是字符串,给定资源",我无法弄清楚如何解决它.

And its always giving me the "mysql_query() expects parameter 1 to be string, resource given" and i cant figure out how to solve it.

你们能帮我吗?

推荐答案

这是您的问题:

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

$result = mysql_query($query);

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

You're running a query on the first line, which returns a "resource" as a result of the query. Then on the immediate next line you try to use that resource as another query to run again. You don't need the second line, the $result can be set in the first line.

这篇关于mysql_query()期望参数1为字符串,给定资源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆