首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在PHP中使用MySQLi的多个准备语句?

如何在PHP中使用MySQLi的多个准备语句?
EN

Stack Overflow用户
提问于 2018-07-27 00:31:54
回答 2查看 0关注 0票数 0

我想用MySQLi在PHP中做两个准备好的语句,该如何实现呢?

EN

回答 2

Stack Overflow用户

发布于 2018-07-27 09:06:21

最好知道如何使用这些功能,两次插入相同的数据是没有意义的,必须链接数据,而不是加倍。

票数 0
EN

Stack Overflow用户

发布于 2018-07-27 09:59:05

这样试试:

代码语言:txt
复制
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* set autocommit to off */
$mysqli->autocommit(FALSE);

/* Insert some values */
$mysqli->query("INSERT INTO table1 VALUES ('DEU', 'Bavarian', 'F', 11.2)");
$mysqli->query("INSERT INTO table2 VALUES ('DEU', 'Bavarian', 'F', 11.2)");

/* commit transaction */
$mysqli->commit();

/* close connection */
$mysqli->close();

代码语言:txt
复制
<?php
$mysqli = new mysqli("localhost", "root", "", "");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* set autocommit to off */
$mysqli->autocommit(FALSE);

$stmt1 = $mysqli->prepare("INSERT INTO tbl1 (id, intro) VALUES (?, ?)");
$stmt2 = $mysqli->prepare("INSERT INTO tbl2 (id, name) VALUES (?, ?)");

$str1 = 'abc';
$str2 = 'efg';
$str3 = 'hij';
$str4 = 'klm';

$stmt1->bind_param('ss', $str1, $str2);
$stmt2->bind_param('ss', $str3,$str4);

if ($stmt1->execute() == false)
{
    echo 'First query failed: ' . $mysqli->error;
}
$stmt1->close();
if ($stmt2->execute() == false)
{
    echo 'Second query failed: ' . $mysqli->error;
}
$stmt2->close();
$mysqli->close();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100005837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档