尝试使用此命令检查表是否存在以及是否未创建表
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;
}正在获取结果“Invalid query:”
没有创建表,因此我假设我的一些mysqli查询代码(CREATE TABLE....ip int NOT NULL)或(SELECT COUNT...= '$tablename')或其他位是错误的和/或不起作用?我不知道是哪一位或者为什么?
发布于 2015-02-27 09:56:28
只需将查询与IF NOT EXISTS一起使用,而不检查
http://dev.mysql.com/doc/refman/5.5/en/create-table.html
$sql = "CREATE TABLE IF NOT EXISTS $table (
ID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(ID),
timestamp int NOT NULL,
ip int NOT NULL
)";此外,还需要将连接传递到mysqli_query
发布于 2016-11-28 10:38:13
嘿,这是你该怎么做的:
创建mysqli php连接:
<?php
$__DATABASE__='centralfeed_feed';
$__USER__='root';
$__PASSWORD__='';
$__HOST__='localhost';
$con=mysqli_connect($__HOST__,$__USER__,$__PASSWORD__,$__DATABASE__);
?>然后,向数据库发出mysqli请求:
<?php
if(mysqli_query($con,"DESCRIBE users ")){
echo "exists";
}else{
echo "dont exists";
}
mysqli_close($con);
exit;
?>然后你就完成了!!
永远记住,当你使用完它们的时候,关闭连接,或者注意使用它们的连接,不仅仅是在php mysqli中,而是一直在使用(在其他语言中也是如此)。
https://stackoverflow.com/questions/28756236
复制相似问题