Php 在mysql插入后获取列值(如id)

Php 在mysql插入后获取列值(如id),php,mysql,select,insert,Php,Mysql,Select,Insert,我可以从PHP中获得一个值,就像我刚刚添加到数据库的行中的新id一样,还是应该进行选择以检索它 <?php $sql = "INSERT INTO my_table (column_1, column_2) VALUES ('hello', 'ciao')"; $res = mysql_query ($sql) or die (mysql_error ()); $sql = "SELECT column_id FROM my_table WHERE column_1 = 'hello'

我可以从PHP中获得一个值,就像我刚刚添加到数据库的行中的新id一样,还是应该进行选择以检索它

<?php

$sql = "INSERT INTO my_table (column_1, column_2) VALUES ('hello', 'ciao')";
$res = mysql_query ($sql) or die (mysql_error ());

$sql = "SELECT column_id FROM my_table WHERE column_1 = 'hello'";
$res = mysql_query ($sql) or die (mysql_error ());

$row = mysql_fetch_assoc ($res);
$id = $row["column_id"];
print "my id is = $id";

?>

有对它的内置支持,mysql\u insert\u id()或其他东西。

有对它的内置支持,mysql\u insert\u id()或其他东西。

使用以下方法: 选择可能是危险的,因为自动递增通常意味着记录可能不是唯一的,因此在没有id的情况下不能唯一地选择记录。

使用以下方法:
选择可能是危险的,因为自动递增通常意味着记录可能不是唯一的,因此在没有id的情况下也不是唯一可选择的。

获取id的正确方法是通过
mysql\u insert\u id()
,正如其他人所述。这样做的原因是,您可能会在您的插入之后立即进行其他插入,并且仅请求最后一个
id
不能保证返回您期望的
id

$result = mysql_query("INSERT INTO tableName (col1) VALUES ('foo')");

print mysql_insert_id();

正如其他人所说,获取id的正确方法是通过mysql\u insert\u id()
。这样做的原因是,您可能会在您的插入之后立即进行其他插入,并且仅请求最后一个
id
不能保证返回您期望的
id

$result = mysql_query("INSERT INTO tableName (col1) VALUES ('foo')");

print mysql_insert_id();