想要连接到同一个数据库表但具有不同的值
Posted
技术标签:
【中文标题】想要连接到同一个数据库表但具有不同的值【英文标题】:want to connect to the same database table but with different values 【发布时间】:2019-04-11 13:47:20 【问题描述】:我有这段代码,我想在其中开始与同一个数据库的新连接,但与以前与数据库的连接不同,得到不同的值,但是每当我启动连接时,我在我的网站上收到的内容是一个错误说“无法获取 mysqli”请帮助我不知道该怎么做
我尝试使用“mysqli_close($conn);”关闭与数据库的连接但没用
$result = mysqli_query($conn, "SELECT * FROM userissues, response WHERE response.idmatch = userissues.emailcount");
$count = mysqli_num_rows($result);
if($count == 0)
mysqli_close($conn);
$result = mysqli_query($conn,"SELECT * FROM userissues WHERE departmentSent = '$_SESSION[user_email]' ORDER BY dateSent DESC");
$count = mysqli_num_rows($result);
if($count == 0)
echo '<p style="margin-left: 162px; width: 300px; float: left; height: 50px;">you have no emails</p>';
else
while($row = mysqli_fetch_array($result))
?>
<a href="email_preview.php?id=<?php echo $row['emailcount'];?>&site=inbox">
<?php
echo '
<table border="1" id="'.$row["emailcount"].'" style="margin-left: 162px; width: 300px; float: left; height: 50px;">
<tr><td>'.$row["user_email"].'</td></tr><br>
<tr><td>'.$row["dateSent"].'</td></tr><br>
<tr><td>'.$row["subject"].'</td></tr><br>
<tr><td> '.$row["report"].'</td></tr><br><br>
</table>
</a>
';
mysqli_close($conn);
elseif($count > 0)
mysqli_close($conn);
$result = mysqli_query($conn,"SELECT * FROM userissues, response WHERE userissues.departmentSent = '$_SESSION[user_email]' AND response.user_receiver = '$_SESSION[user_email]' ORDER BY userissues.dateSent AND response.dateResponded DESC");
$count = mysqli_num_rows($result);
if($count == 0)
echo '<p style="margin-left: 162px; width: 300px; float: left; height: 50px;">you have no emails</p>';
else
while($row = mysqli_fetch_array($result))
echo'';
我只想与同一个数据库建立一个新的连接,但具有不同的值
【问题讨论】:
如果您只想对查询中的行进行计数,那么建议您执行SELECT COUNT()
,而不是返回您实际上不想查看的结果集的查询.
哪一行有错误?
我不只是想计算它们,我正计划在 while 循环中插入来自新结果查询的数据
在 mysqli_close($conn);在 elseif @Nasser 之后
【参考方案1】:
如果您关闭连接mysqli_close($conn);
,您将无法再使用该连接发出查询。基本上,这将破坏您可以发出查询和检索结果的管道。
我想你真正想做的是mysqli_free_result($result)
documentation for
mysqli_free_result()
您的脚本对SQL Injection Attack 开放 甚至if you are escaping inputs, its not safe! 在
MYSQLI_
或PDO
API 中使用prepared parameterized statements
如果您确实必须关闭与数据库mysqli_close($conn);
的连接,那么您将不得不发出另一个$con = mysqli_connect()
来创建另一个连接。然而这是一个相对缓慢的过程,一个脚本实际上应该只打开一个连接。
【讨论】:
它确实有效!没有更多错误非常感谢您以上是关于想要连接到同一个数据库表但具有不同的值的主要内容,如果未能解决你的问题,请参考以下文章
将不同文件中的多个excel表导入python并将它们连接到一个数据框中
mysql - 如何使用父表中的值将连接表连接到另一个连接表?