php
  • mysql
  • 2014-03-04 66 views 0 likes 
    0

    我想問題都是這樣說的。我的查詢結果將成爲一個匹配條件的行。我想從每個表列中獲取每個數據並將其放入一個變量中。PHP從表格行中檢索數據並將其存儲到變量

    $getinfo = "select 
            user_firstname, 
            user_middlename, 
            user_lastname 
           from tempuserinfo 
          where user_email ='$ead' 
           and activation_code='$eac'"; 
    
    $query = mysql_query($getinfo, $db); 
    if(!$query) { 
        echo'something went wrong.'; 
    } else { 
        //put them into variables 
        $firstname = mysql_fetch_object($query, 'user_firstname'); 
        $middlename = mysql_fetch_object($query, 'user_middlename'); 
        $lastname = mysql_fetch_object($query, 'user_lastname'); 
    } 
    

    回答

    4

    ,你可以通過他們像環這個:

    $getinfo = "select user_firstname, user_middlename, user_lastname from tempuserinfo where user_email ='$ead' and activation_code='$eac'"; 
    $query = mysql_query($getinfo, $db); 
    
    while ($row = mysql_fetch_array($query)) { 
        $firstname = $row['user_firstname']; 
        $lastname = $row['user_lastname']; 
    } 
    

    如果你只得到一個行回來(請確保您添加了限制你的SQL語句),那麼你可以使用這樣的事情:

    $getinfo = "select user_firstname, user_middlename, user_lastname from tempuserinfo where user_email ='$ead' and activation_code='$eac'"; 
    $query = mysql_query($getinfo, $db); 
    
    $row = mysql_fetch_array($query); 
    
    $firstname = $row['user_firstname']; 
    $lastname = $row['user_lastname']; 
    
    0

    這應該工作:

    $result = mysql_fetch_object($query); 
    $firstname = $result->user_firstname; 
    $middlename = $result->user_middlename; 
    $lastname = $result->user_lastname; 
    

    但是: 使用的MySQLi或者如果您收到多個結果PDO sintead mysql的模塊已經過時

    0
    $dsn = 'mysql:dbname=testdb;host=127.0.0.1'; 
        $user = 'dbuser'; 
        $password = 'dbpass'; 
    
        try { 
         $dbh = new PDO($dsn, $user, $password); 
        } catch (PDOException $e) { 
         echo 'Connection failed: ' . $e->getMessage(); 
        } 
        try { 
         $sth = $dbh->prepare("select user_firstname, user_middlename, user_lastname from tempuserinfo where user_email = ? and activation_code=?"); 
         $sth->execute(array($ead,$eac)); 
         $row = $sth->fetch(PDO::FETCH_BOTH); 
         $user_firstname = $row['user_firstname']; 
         $user_middlename = $row['user_middlename']; 
         $user_lastname = $row['user_lastname']; 
    } catch (PDOException $e) { 
         echo 'Database operation failed: ' . $e->getMessage(); 
        } 
    

    真的,學會使用PDO,因爲它就像使用mysql_ *一樣簡單,但更安全,更好。

    1

    mysql_ *函數已被棄用。在最新版本的PHP中推薦的文檔中,他們將使用mysqli_ *或PDO。

    下面是使用mysqli的爲您的問題腳本:

    $mysqli = new mysqli("localhost", "root_user", "root_password", "database"); 
    if (mysqli_connect_errno()) { 
        printf("Connect failed: %s\n", mysqli_connect_error()); 
        exit(); 
    } 
    
    $getinfo = "select 
            user_firstname, 
            user_middlename, 
            user_lastname 
           from tempuserinfo 
          where user_email ='$ead' 
           and activation_code='$eac'"; 
    
    
    
    if ($result = $mysqli->query($getinfo)) {  
        while ($row = $result->fetch_object()) { 
         $firstname = $row->user_firstname; 
         $middlename = $row->user_middlename; 
         $lastname =$row->user_lastname; 
        } 
        $result->close(); 
    } 
    else 
    { 
        echo'something went wrong.'; 
    } 
    
    1

    與mysqli的一個例子,MySQL作爲這種過時

    $sql = "select user_firstname, user_middlename, user_lastname from tempuserinfo where user_email ='$ead' and activation_code='$eac'"; 
    
    $query = mysqli_query($conn, $sql); 
    while($rs = mysqli_fetch_assoc($query)){ 
        $user_firstname = $rs['user_firstname']; 
        $user_middlename = $rs['user_middlename']; 
        $user_lastname = $rs['user_lastname']; 
    } 
    

    ,如果你想擁有的所有字段,以便稍後徵詢他們的意見,將它們添加到陣列中

    $i=0; 
    while($rs = mysqli_fetch_assoc($query)){ 
        $data[$i] = array('user_firstname'=>$rs['user_firstname'], 'user_middlename'=>$rs['user_middlename'], 'user_lastname'=> $rs['user_lastname']); 
    
        $i++; 
    } 
    
    print_r($data); 
    
    相關問題