【发布时间】:2015-04-29 15:26:51
【问题描述】:
尝试使用它来检查表是否存在以及是否没有创建它
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 查询代码 (CREATE TABLE....ip int NOT NULL) 或 (SELECT COUNT...= '$tablename') 或其他位是错误的和/还是不工作?我不知道是哪一点或为什么?
【问题讨论】: