2013-12-13 87 views
0

我將下列數據插入到使用PHP的SQL表中。PHP/SQL檢索新插入的行

$query1 = 'INSERT INTO log_index_level_1 (LOG_INDEX, LOT_ID, WAFER_ID, MAP_REV, PROBE_DATE) VALUES ("", "' . $LOT_ID . '", "' . $WAFER_ID . '", "' . $MAP_REV. '", ' . "STR_TO_DATE('" . $PROBE_DATE . "', '%m-%d-%Y'" . '))'; 

    $result1 = mysql_query($query1) 

    echo mysql_result($result1, 0) . "\n; 

如何檢索我剛剛插入的第一行數據?即我想要echo LOG_INDEX。

上面的代碼不起作用,因爲$result1返回1而不是實際的數據本身。

+5

首先,使用PDO。然後你可以得到'lastInsertId()',並選擇數據... –

+0

log_index_level_1表的主鍵是什麼? –

+0

主鍵是'LOG_INDEX' –

回答

0

感謝您的靈感。

這是我查找的代碼解決了它。

$result_liq = mysql_query("SHOW TABLE STATUS LIKE 'log_index_level_1'"); 
$row = mysql_fetch_array($result_liq); 
$LOG_INDEX = $row['Auto_increment']; 
0

我還沒有測試過下面的代碼。

<?php 

    /* 
    ........... your connection code ... etc 
    ............. 
    */ 

    $query1 = 'INSERT INTO log_index_level_1 (LOG_INDEX, LOT_ID, WAFER_ID, MAP_REV, PROBE_DATE) VALUES ("", "' . $LOT_ID . '", "' . $WAFER_ID . '", "' . $MAP_REV. '", ' . "STR_TO_DATE('" . $PROBE_DATE . "', '%m-%d-%Y'" . '))'; 

    $result1 = mysql_query($query1); 

    $query2 = 'select last_insert_id() as lastId'; 

    $result2 = mysql_query($query2); 

    if ($row = mysql_fetch_object($result2)) { 

    $lastId = $row->lastId; 

    $query3 = "select * from log_index_level_1 aa where aa.LOG_INDEX = ".$lastId; 

    $result3 = mysql_query($query3); 

    if ($lastRow = mysql_fetch_object($result3)) { 
     // do something with $lastRow 
     // $lastRow->LOT_ID , $lastRow->WAFER_ID ... etc 
    } 

    mysql_free_result($result3); 
    } 

    mysql_free_result($result2); 
    mysql_free_result($result1); 
?>