sách gpt4 ai đã đi

PHP - mysql_insert_id() 和竞争条件?

In lại 作者:行者123 更新时间:2023-11-29 05:27:13 26 4
mua khóa gpt4 Nike

我想我在一些 PHP 代码中遇到了竞争条件,mysql_insert_id() 返回 0 - 但我无法弄清楚原因。

$insertsess=mysql_query("insert into cior_sessions values ('','$cid','$uid','$tutook',STR_TO_DATE('$sessiondate','%d/%m/%Y'),'$sessionnum')");
$sessionid=mysql_insert_id($insertsess);
echo "";

我自己无法重现该问题,但可以看到其他用户重现了(由于他们随后所做的是 SID 为 0 的结果,但并非始终如此)。

我对此的理解是 mysql_insert_id 会等待 $insertsess 的查询完成——这是错误的吗?如果是这样,我是否需要有诸如看门狗循环之类的东西来等待 mysql_insert_id 返回非零值?这似乎有点愚蠢。 :/

1 Câu trả lời

当您调用 mysql_insert_id() 时,您应该使用连接资源,而不是像您在发布的代码片段中那样使用结果集资源。

$link = mysql_connect('dbhost', 'dbuser', 'dbpass', 'dbname');
$result = mysql_query("Some query here');
$lastId = mysql_insert_id($link); // you have used your result set here

关于PHP - mysql_insert_id() 和竞争条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18811184/

26 4 0