gpt4 book ai didi

php - 使用 php 检查 mysgl 表是否存在

转载 作者:行者123 更新时间:2023-11-29 11:00:58 26 4
gpt4 key购买 nike

首先:我知道这个问题之前已经被问过,但我已经寻找一个可行的解决方案一个多星期了,但我找不到。那么,有人可以帮助我,而不是将我的问题标记为重复吗?已经谢谢了!!

所以问题是这样的:我试图检查我的数据库中是否存在 mysql 表(使用 php)。有谁知道我该如何解决这个问题?据我所知,这是我的代码:

<form id="newChat" method="post">
Start a new chat:
<input type="text" name="name" />
<input type="submit" value="Search" />
</form>

<?php
function checkChat($me, $friend) {
global $conn;
$chatid = findChat($me, $friend);

$sql = 'SHOW TABLES FROM chatboxDB LIKE \'chat10\'';
$result = mysqli_query($conn, $sql) or trigger_error(mysql_error()." in ".$query);

if ($result > 0) {
echo '<script>alert("It works.");</script>';
}
}

if (isset($_POST)) {
$friend = checkInput($_POST["name"]);
unset($_POST["name"]);
checkChat($me, $friend);
}
?>

一些评论:

  • mysqli_query() 函数适用于我代码的其他部分
  • 与我的数据库的连接 $conn 正常
  • 问题似乎出在 if ($result > 0) --> 这似乎总是正确的...

编辑:这是我的代码并且它正在运行:(我发现它可以做得更简单)

<?php
function checkChat($me, $friend) {
global $conn, $dbname;
$chatid = findChat($me, $friend); # the findChat() is a query to find the name of a chat by giving the 2 persons from that chat, if one of those 2 persons does not exist, findChat will return nothing)

if (!$chatid) {
# the chat does not exist
}
}

if (isset($_POST)) {
$friend = checkInput($_POST["name"]);
$_POST = array();
checkChat($me, $friend);
}
?>

最佳答案

您可以尝试以下操作:

SELECT * 
FROM information_schema.tables
WHERE table_schema = 'yourdb'
AND table_name = 'testtable'
LIMIT 1;

或者,您可以使用 SHOW TABLES

SHOW TABLES LIKE 'yourtable';

如果结果集中有一行,则表存在,否则不存在。

关于php - 使用 php 检查 mysgl 表是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42266944/

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