php
  • mysql
  • 2012-07-09 34 views 0 likes 
    0

    我想从MySQL数据库中获取一个值并将其放入一个PHP变量中。MySQL查询数据到一个PHP变量

    我尝试这样做:

    $data = mysql_query("SELECT userid FROM ao_user " . 
        "WHERE username = '{$this->_username}' " . 
        "AND password = '{$this->_password}' AND display = '{$this->_display}'"); 
    

    代码无效说用户名/密码。

    下面是用户登录代码:

    <?php 
        $username = "Nynex71"; 
        mysql_connect("localhost", "root", "test") or die(mysql_error()); 
        mysql_select_db("test") or die(mysql_error()); 
        $result = mysql_query("SELECT display FROM ao_user " . 
        "WHERE username = '{$username}'") or die(msyql_error()); 
        $row = mysql_fetch_assoc($result); 
        echo $row['display']; 
    ?> 
    

    public function getDisplay() 
        { 
        mysql_connect("localhost", "root", "test") or die(mysql_error()); 
        mysql_select_db("test") or die(mysql_error()); 
    
        $result = mysql_query("SELECT display FROM ao_user " . 
         "WHERE username = '{$this->_username}'"); 
        $row = mysql_fetch_assoc($result); 
        $this->_display = $row['display']; 
        $_SESSION['display'] = $this->_display; 
        } 
    

    程序不把任何话到PHP变量。我做错了什么,你如何做到这一点?

    +0

    以下答案正确。然而,我的建议是,如果你刚开始学习PHP和MySQL。使用[MySQLi](http://php.net/manual/en/book.mysqli.php)或[PDO_MySQL](http://php.net/manual/en/ref.pdo-mysql.php)作为mysql_ *贬值,因此你可能忘记它们存在! – 2012-07-09 21:42:19

    回答

    3

    mysql_query返回结果句柄,而不是您选择的值。您必须先取一行,然后从该行中检索该值:

    $result = mysql_query("SELECT ...") or die(msyql_error()); 
    $row = mysql_fetch_assoc($result); 
    echo $row['userid']; 
    
    +0

    非常感谢 – user1509916 2012-07-09 21:44:08

    +0

    以获得所有答案行(而不仅仅是第一个答案行)将“$ row = mysql_fetch_assoc($ result)”部分放入类似“while($ row = mysql_fetch_assoc($ result)){echo $ row ['userid'];}“ – 2012-07-09 21:44:49

    相关问题