- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有以下表格:
thread: id, title, content, created
thread_tags: tag_id, thread_id
tag: id, name
author_threads: thread_id, author_id
这是我通常将值插入所有这些字段的方法(为简单起见,省略了一些步骤):
$sql_thread = "INSERT INTO thread (title, content)
VALUES ('some title', 'some content')";
# this is normally a loop, as there are more than one tags:
$sql_tags = "INSERT INTO tag (name)
VALUES ('onetag')";
# normally I would check the return value
mysqli_query($link, $sql_thread);
# get the thread id:
$thread_id = mysqli_insert_id($link);
mysqli_query($link, $sql_tags);
# get the tag id:
$tag_id = mysqli_insert_id($link);
# insert into thread_tags:
mysqli_query($link, "INSERT INTO thread_tags (thread_id, tag_id) VALUES ($thread_id, $tag_id)");
# insert into author_threads, I already know author_id:
mysqli_query($link, "INSERT INTO author_threads (author_id, thread_id) VALUES ($author_id, $thread_id)")
我想确保所有这一切都发生或没有发生(即创建线程的过程)。我如何编写代码以使用交易?或者任何其他方式来确保所有这一切发生?
最佳答案
mysqli_autocommit($link, FALSE);
mysqli_commit($link);
,如果它们已成功执行mysqli_rollback($link);
并停止执行更多详情:
关于PHP 事务和 mysqli_insert_id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5385325/
这个问题在这里已经有了答案: mysqli_insert_id: What if someone inserts another row just before I call this? (2 个答
我试图从 INSERT/UPDATE 查询中获取最后一个自动增量 ID,我正在尝试这种方式,但它不起作用,它每次都回显 id=0。 PHP require_once('conn.php'); $tem
使用the PHP manual我创建了以下代码: $query = "INSERT INTO inserir(nome) VALUES ('Stefanato');"; $listar = new
我有 mysql 问题,mysqli_insert_id() 从整个服务器或从插入该 ID 的特定用户返回记录?因为如果它从整体返回那么使用这个函数将不安全 最佳答案 上面@daan 的评论是完全错误
我正在使用 mysqli_insert_id() 获取表上的最后一个自动递增 ID,但它始终返回“0”。 $sql = "INSERT INTO inventory (SELECT * FROM tm
我正在构建一个登录系统,它使用 mysql 数据库 (PHP) 中的三个表,分别称为用户、 session 和登录。所有表都有一个自增索引。成功登录后,用户行通过存储在新登录行中的值链接到 sessi
我尝试在多个查询中使用 mysqli_insert_id,但我一直收到 无法添加或更新子行:外键约束失败。下面是我的代码: $con=mysqli_connect("Stuff");
在将产品添加到数据库方面需要一些帮助。 “mysqli_insert_id”行报告错误 这是我的代码: // Add this product into the database now $s
我有以下表格: thread: id, title, content, created thread_tags: tag_id, thread_id tag: id, name author_thre
在你问之前,我已经使用了堆栈溢出和谷歌的搜索功能! 在我的代码中,mysqli_insert_id始终返回0。 在我的“模型” -PHP-Class中,保存函数如下所示: $result = DB::
我正在尝试将最后一个 id 添加到数据库中的另一个字段,但我不知道该怎么做?这是我的代码: 这是我的类(class)连接 class Connect{ public static function
无法使 mysqli_insert_id 工作..ID 为 AUTO_INCRMENT,但仍然不起作用。 $query = "INSERT INTO categoriasdivisiones (tit
我必须使用对另一个表(FK)中的记录的引用。另一个表中的记录可能存在,也可能不存在,因此我可以使用它的 ID,也可以插入一个新记录,然后使用它的 ID。 我有以下代码: $con=mysqli_con
错误显示在这一行: $query1="UPDATE `users` SET password=''.md5(md5(mysqli_insert_id($link).$pass)).'
我有一个函数没有按照我的预期运行。它的目的是为选择查询返回一个行数组,或者为插入查询返回插入 id。由于某种原因,如果插入查询后跟选择查询,则测试查询是否为插入的函数部分会失败,因为 inesrt_i
在高流量应用程序中,mysqli_insert_id() 是否可能返回错误的 ID,或者混淆几乎同时执行的两个 INSERT 查询之间的 ID? 最佳答案 没有。 mysqli_insert_id 从
几个小时以来,我一直在尝试使这项工作正常进行,但似乎一无所获。我正在使用的代码如下。我正在处理一个 phpbb 页面,它解释了模板和 sql 查询设置。 $sql_query = 'INSERT IN
我有以下代码。应该返回表的最后一行的 mysqli_insert_id()(在本例中为“$last_row”)始终返回 0。为什么会这样? query($query); printf ("New Re
我有一个 mysql 表,它附加了一个触发器,可以将该表中的更改记录到第二个表中 CREATE TRIGGER log_table BEFORE UPDATE ON table1 FOR EACH
我不明白为什么 mysqli_insert_id() 返回的 id 与我预期的 id 不同。这是我的代码: $query = "INSERT INTO payments_table (payment_
我是一名优秀的程序员,十分优秀!