gpt4 book ai didi

php - 如何将两个MySQL连接合并为一个MySQL连接?

转载 作者:行者123 更新时间:2023-11-29 21:30:04 25 4
gpt4 key购买 nike

我在一个 .php 文件中对同一个数据库有两个 MySQL 连接。

第二个连接基于第一个连接的结果。

如何将两个连接合并为一个?请帮助并教我如何修改它?

第一次连接:

<?php
header('Content-Type: text/html; charset=utf-8');

$servername = "localhost";
$username = "abcabc";
$password = "12341234";
$dbname = "abc1234";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
$conn->set_charset("utf8");
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

// Logic data
$previous_page = ($_GET['crno'] - 1);
$next_page = ($_GET['crno'] + 1);


// select data

$sql = 'SELECT * FROM ComData WHERE com_no = '. $_GET['crno'];
$result = $conn->query($sql);



if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$pageTitle = $row['com_eng_name'] . $row['com_chi_name'];

$com_no = $row['com_no'];
$br_no = $row['br_no'];
$com_eng_name = $row['com_eng_name'];
$com_chi_name = $row['com_chi_name'];
$com_type = $row['com_type'];
$date_of_incorp = $row['date_of_incorp'];
$active_status = $row['active_status'];
$date_commenced_dormancy = $row['date_commenced_dormancy'];
$remarks = $row['remarks'];
$date_of_dissolution = $row['date_of_dissolution'];
$register_charges = $row['register_charges'];
$name_history = $row['name_history'];
$phone = $row['phone'];
$email = $row['email'];
$address = $row['address'];
$website = $row['website'];
$background = $row['background'];
$update_time = $row['update_time'];




}
} else {
echo "No Results";
}

$conn->close();
?>

第二个连接:

<?php
header('Content-Type: text/html; charset=utf-8');

$servername = "localhost";
$username = "abcabc";
$password = "12341234";
$dbname = "abc1234";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
$conn->set_charset("utf8");
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}



// select data for similar search

$string = "$com_eng_name";
$words = implode(' ', array_slice(explode(' ', $string ), 0, 2));


$sql = "SELECT * FROM ComData
WHERE com_eng_name REGEXP '$words'
ORDER BY com_no
DESC
LIMIT 20";
$result = $conn->query($sql);


if ($result->num_rows > 0) {
echo "<table><tr><th>CR No.</th><th>Company Name</th><th>Active Status</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["com_no"]."</td><td><a href='search.php?crno=".$row["com_no"]."' >".$row["com_eng_name"]." ".$row["com_chi_name"]."</a></td><td>".$row["active_status"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>

最佳答案

如果这两段代码都存在于同一个物理文件中,那么由于在这两种情况下保存连接的变量都是 $conn 你可以放弃第二次尝试建立与数据库。

因此,只需从您称为“第二个连接”的代码段中删除此代码的注释即可,即这一点

$servername = "localhost";
$username = "abcabc";
$password = "12341234";
$dbname = "abc1234";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
$conn->set_charset("utf8");
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

然后删除此行

$conn->close();

来自您调用First Connetion的代码,这样您就不会在第二段代码运行之前关闭连接。

但是,实际上这两段代码位于单独的 .php 文件中。他们必须保持原样。

关于php - 如何将两个MySQL连接合并为一个MySQL连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35329048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com