PHP和MySQLi检查表是否存在以及是否不存在';我不能创造它

PHP和MySQLi检查表是否存在以及是否不存在';我不能创造它,php,mysqli,Php,Mysqli,尝试使用此选项检查表是否存在以及是否未创建它 if ( !f_tableExists($table, DB_NAME) ) { $sql = "CREATE TABLE $table ( ID int NOT NULL AUTO_INCREMENT, PRIMARY KEY(ID), timestamp int NOT NULL, ip int NOT NULL )"; $result = mysqli_q

尝试使用此选项检查表是否存在以及是否未创建它

if ( !f_tableExists($table, DB_NAME) ) {
    $sql = "CREATE TABLE $table (
        ID int NOT NULL AUTO_INCREMENT,
        PRIMARY KEY(ID),
        timestamp int NOT NULL,
        ip int NOT NULL
    )";

    $result = mysqli_query($sql);

    if (!$result) {
        die('Invalid query: ' . mysqli_error());
    }

}
如果f_tableExists存在,则执行以下操作以检查它是否存在

function f_tableExists($tablename, $database = false) {

if(!$database) {
    $res = mysqli_query("SELECT DATABASE()");
    $database = mysqli_data_seek($res, 0);
}

$res = mysqli_query("
    SELECT COUNT(*) AS count
    FROM information_schema.tables
    WHERE table_schema = '$database'
    AND table_name = '$tablename'   
");

return mysqli_data_seek($res, 0) == 1;
}
获取结果“无效查询:”


没有创建表,因此我假设我的一些mysqli查询代码(创建表…ip int NOT NULL)或(SELECT COUNT…=“$tablename”)或其他位错误和/或不工作?我不知道是哪一位,也不知道为什么?

如果不存在,只需使用带有
的查询,而不必检查

另外,需要将连接传递到


p.S.相对笑话:

嘿,这是你本可以做到的:

创建mysqli-php连接:

<?php
$__DATABASE__='centralfeed_feed';
$__USER__='root';
$__PASSWORD__='';
$__HOST__='localhost';

$con=mysqli_connect($__HOST__,$__USER__,$__PASSWORD__,$__DATABASE__);

?>
<?php

     if(mysqli_query($con,"DESCRIBE  users ")){
        echo "exists";
    }else{
        echo "dont exists";
    }
    mysqli_close($con);
    exit;
 ?>

然后向数据库发出mysqli请求:

<?php
$__DATABASE__='centralfeed_feed';
$__USER__='root';
$__PASSWORD__='';
$__HOST__='localhost';

$con=mysqli_connect($__HOST__,$__USER__,$__PASSWORD__,$__DATABASE__);

?>
<?php

     if(mysqli_query($con,"DESCRIBE  users ")){
        echo "exists";
    }else{
        echo "dont exists";
    }
    mysqli_close($con);
    exit;
 ?>

那么你的任务完成了


永远记得在使用完它们后关闭连接,或者注意使用它们的连接不仅在php mysqli中,而且在所有时间(在其他语言中也是如此)。

仍然会得到相同的结果,所以可能$result=mysqli\u query($sql);不工作?@Quickcoins,请检查mysqli\u查询签名。我如何检查mysqli\u查询签名,以前从未听说过?好的,我已经完成$result=mysqli\u查询($link,$sql);我仍然得到相同的结果,这包括参数吗?还是一样吗problem@Quickcoins,您需要将链接传递到
mysqli\u错误