2017-02-09 56 views
-4

我試圖在插入使用php + mysql後立即獲取插入行的內容。 有沒有辦法在php + mysql中立即獲取插入的行(所有列)。如何立即獲取插入的行內容,mysql,phpmyadmin

我是新來的php + mysql。

+0

返回所有'POST'數據與'last_inserted_id' – C2486

+0

如果你插入一個數據,它被插入然後有什麼需要問?你有這個數據你自己 –

回答

0

試試這個:

<?php 
$con=mysqli_connect("localhost","my_user","my_password","my_db"); 
// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age) 
VALUES ('Glenn','Quagmire',33)"); 

// Print auto-generated id 
echo "New record has id: " . mysqli_insert_id($con); 

mysqli_close($con); 
?> 
+0

我已經得到了自動增量id,但也有一些其他列是增量生成的,因爲我需要獲取整行。 – raju

0

插入行獲取插入的行之後。 下面的例子使用php編寫的語句方法插入數據庫表並從數據庫表中獲取數據。

數據庫連接你將不得不創建php代碼。

數據庫連接

$servername = "your server name"; 
    $username = "your username"; 
$password = "your password"; 
$db = "your database name"; 

$conn = new mysqli($servername, $username, $password, $db); 

// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: try again after some time "); 
    } 


$insert_stmt = $conn->prepare("INSERT INTO log (username, email, password) 
    VALUES (?, ?, ?)")); 
$insert_stmt->bind_param('sss', $username, $email, $password); 
$insert_stmt->execute(); 

執行此之後,立即就可以查詢在同一個表,並獲得該行。像這樣 -

$prep_stmt = "SELECT * FROM log WHERE username = ? LIMIT 1"; 
$stmt = $conn->prepare($prep_stmt); 
$stmt->bind_param('s', the username you just inserted); 
    $stmt->execute(); 
$stmt->bind_result($the variable names in which you want to bind the  
results separated by commas); 
     $stmt->fetch(); 

如果數據已插入,則可供您取回。

0

您可以通過獲得最新插入的行ID的內置PHP函數mysql_insert_id();

$id = mysql_insert_id(); 

你一個也

$id = last_insert_id(); 
0

獲得最新的行ID如果數據插入成功返回應該是一個新的ID