首先:我知道之前已经问过这个问题,但我现在正在寻找一个工作解决方案一个多星期了,我找不到一个。所以,任何人都可以帮助我,而不是仅仅将我的问题标记为重复吗?谢谢!!
所以问题是:我正在尝试检查我的数据库中是否存在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);
}
?>
一些评论:
if ($result > 0)
- &gt;这似乎永远是真的...... 编辑:这是我的代码,它正在运行: (我发现它可以做得更简单了)
<?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);
}
?>
答案 0 :(得分:1)
您可以尝试以下操作:
SELECT *
FROM information_schema.tables
WHERE table_schema = 'yourdb'
AND table_name = 'testtable'
LIMIT 1;
或者,您可以使用SHOW TABLES
SHOW TABLES LIKE 'yourtable';
如果结果集中有一行,则表格不存在。
答案 1 :(得分:0)
mysqli_query应该通过任何mysqli_fetch_XXXXX函数来处理
$sqlresult = mysqli_fetch_array($result, MYSQLI_NUM);
然后比较
if ($sqlresult) {
echo '<script>alert("It works.");</script>';
}