Php 如何在同一个SQL查询中插入和选择数据?
我以前是这样问的Php 如何在同一个SQL查询中插入和选择数据?,php,sql,Php,Sql,我以前是这样问的 INSERT INTO coins VALUES (NULL, '$user_ID', '$title', NOW()) 现在,在同一个脚本页面的后面,我需要使用刚才在上面的查询中插入的value coin_ID。它是自动递增的值,所以我添加了NULL 在我使用PHP进行了一些检查之后,如何在同一页面中使用这个coin_ID 感谢您在PHP或mysql中使用在PHP或mysql中使用尝试通过PHP mysql\u insert\u id函数使用。尝试通过PHP mysql\u
INSERT INTO coins VALUES (NULL, '$user_ID', '$title', NOW())
现在,在同一个脚本页面的后面,我需要使用刚才在上面的查询中插入的value coin_ID。它是自动递增的值,所以我添加了NULL
在我使用PHP进行了一些检查之后,如何在同一页面中使用这个coin_ID
感谢您在PHP或mysql中使用在PHP或mysql中使用尝试通过PHP mysql\u insert\u id函数使用。尝试通过PHP mysql\u insert\u id函数使用。用于检索上次插入的id。用于检索上次插入的id。请参见。请参见。$coin\u id=mysql insert\u id $coin\u ID=mysql\u insert\u ID 这取决于您在PHP中使用的数据库驱动程序。如果您使用的是标准mysql函数,则可以使用以下函数:
$coin_id = mysql_insert_id()
如果您使用的是PHP的PDO,则可以使用以下方法:
如果您使用的数据库支持sql关键字,例如postgres,那么您可以在一个查询中完成。但是MySQL不支持它
INSERT INTO coins VALUES (NULL, '$user_ID', '$title', NOW()) RETURNING coin_id;
如果您编辑您的帖子以包含您正在使用的数据库交互方法,我们可以提供更具体的答案。这取决于您在PHP中使用的数据库驱动程序。如果您使用的是标准mysql函数,则可以使用以下函数:
$coin_id = mysql_insert_id()
如果您使用的是PHP的PDO,则可以使用以下方法:
如果您使用的数据库支持sql关键字,例如postgres,那么您可以在一个查询中完成。但是MySQL不支持它
INSERT INTO coins VALUES (NULL, '$user_ID', '$title', NOW()) RETURNING coin_id;
如果您编辑您的帖子以包含您正在使用的数据库交互方法,我们可以提供更具体的答案。我忘了提到,我将使用该币ID选择另一个表中的链接列。当我使用该功能时,我会出现此错误,这可能是权限问题吗?我忘了提到,我将使用该coin_ID选择另一个表中的链接列我在使用该函数时遇到此错误权限是否会出现问题?如果在当前上下文插入之间存在另一个线程/进程插入数据库,然后运行该函数,该函数是否真的安全?如果没有,似乎会导致难以追踪的微妙腐败/错误@Kitsune LAST_INSERT_ID在事务中是安全的,mysql_INSERT_ID对于PHP代码总是安全的,因为PHP代码在线程之间不共享单个DB连接。请看。@Kitsune请不要把mysql开发人员当成十足的傻瓜。@Col.Shrapnel这与把他们当成傻瓜无关,但与该函数的确切功能有关。根据另一个问题,如果同一个连接在多个线程之间共享,并且没有使用事务,那么在我概述的场景中,它将返回错误的数据。这是必须具备的重要信息。当当前上下文插入并运行此函数时,如果存在另一个线程/进程插入到数据库中,则此函数实际上安全吗?如果没有,似乎会导致难以追踪的微妙腐败/错误@Kitsune LAST_INSERT_ID在事务中是安全的,mysql_INSERT_ID对于PHP代码总是安全的,因为PHP代码在线程之间不共享单个DB连接。请看。@Kitsune请不要把mysql开发人员当成十足的傻瓜。@Col.Shrapnel这与把他们当成傻瓜无关,但与该函数的确切功能有关。根据另一个问题,如果同一个连接在多个线程之间共享,并且没有使用事务,那么在我概述的场景中,它将返回错误的数据。这是需要掌握的重要信息。