获取数据库中的数据?

时间:2017-04-12 03:59:27

标签: php sql

我想在我的数据库中获取用户的注册IP。

我使用这种方法:

$securityRes=mysql_query("SELECT * FROM security WHERE userName=".$userRow['name']);
$securityRow=mysql_fetch_array($securityRes);

但是当我使用这段代码时,它什么都没有回复:

echo $securityRow['IP']

我被封锁了1个小时,Google似乎不想成为我今天的朋友:/

所以我在这里寻求帮助,希望能得到一些帮助。

提前谢谢你;亲切地,马特。

PS - Here is my database | my table "security" :

enter image description here

3 个答案:

答案 0 :(得分:4)

首先使用mysqli_ *而不是mysql _ * 。问题出在这里:

"SELECT * FROM security WHERE userName=".$userRow['name'];

name始终是一个字符串,对于字符串比较,您必须将值绑定在单引号中,如:

"SELECT * FROM security WHERE userName='".$userRow['name']."'";

答案 1 :(得分:0)

你应该在这里尝试调试。

$securityRes    =    mysql_query("SELECT * FROM security WHERE userName=".$userRow['name']) or die(mysql_error());
$securityRow    =    mysql_fetch_array($securityRes);
echo "<pre>";
print_r($securityRow); // Check your result

答案 2 :(得分:0)

  

警告mysql_query,mysql_fetch_array,mysql_connect等..扩展在PHP 5.5.0中已弃用,并且已在PHP 7.0.0中删除。   相反,应该使用MySQLi或PDO_MySQL扩展。

1)在你的代码中,你需要用单引号括起字符串。

2)尝试使用prepared statement or PDO这样的

        //db connection

     global $conn;

        $servername = "localhost";  //host name

        $username = "username"; //username

        $password = "password"; //password

        $mysql_database = "dbname"; //database name

    //mysqli prepared statement 

        $conn = mysqli_connect($servername, $username, $password) or die("Connection failed: " . mysqli_connect_error());

       mysqli_select_db($conn,$mysql_database) or die("Opps some thing went wrong");

        $stmt = $conn->prepare("SELECT * FROM security WHERE userName=?");

        $stmt->bind_param('s',$userRow['name']);

        The argument may be one of four types:

            i - integer
            d - double
            s - string
            b - BLOB
        //change it by respectively 

        $stmt->execute();
        $get_result =$stmt->get_result();

        $row_count= $get_result->num_rows;

        if($row_count>0)
        {

         print_r($get_result->fetch_assoc());

        }