尝试使用它来检查表是否存在以及是否没有创建
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")或其他位是错误的和/或不起作用?我不知道是哪一点,也不知道为什么?
只需对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
附言相对笑话:http://www.bash.org/?725783
嘿,这就是你本可以做到的:
创建一个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中,而且在任何时候(也在其他语言中)都使用它们连接。