Php 无法通过用户输入创建数据库

Php 无法通过用户输入创建数据库,php,mysql,Php,Mysql,我只是想检查是否存在同名数据库(如果存在,抛出一个错误),否则创建它并显示它已成功创建。但在输入数据库名称后,不会创建任何数据库。我会错过什么?(db.php甚至被调用了吗?我认为index.html和db.php应该有某种通信方式,对吗?) 这是我的index.html <form method="post" action=""> Enter database name: <input type="text" name="db" /><br/>

我只是想检查是否存在同名数据库(如果存在,抛出一个错误),否则创建它并显示它已成功创建。但在输入数据库名称后,不会创建任何数据库。我会错过什么?(db.php甚至被调用了吗?我认为index.html和db.php应该有某种通信方式,对吗?)

这是我的index.html

<form method="post" action="">
    Enter database name: <input type="text" name="db" /><br/>
    <input type="submit" name="submit" value="submit"/>
</form>

输入数据库名称:
还有我的db.php:

<?php
    if(isset($_POST['submit'])){  //check for the submit button pressed
    $dbname=$_POST['db'];     //store the database name in php variable
    $query= mysqli_connect('localhost','root','')or die("Error establishing connection");      //check for database connectivity
    $a="CREATE DATABASE IF NOT EXISTS ".$dbname;    //create a database if it doesn't already exist
    $q= mysqli_query($query, $a) or die("Database already exist.. please try   different name");
    echo "Your database ".$dbname." is successfully created";
    }
?>

您的
中没有使用操作:

<form method="post" action="">
这里,我假设,
db.php
index.html
都位于同一个目录中

旁注:

使用用户输入表单创建数据库而不阻止SQL注入不是一个好方法。用于防止SQL注入

给未来访客的另一个建议:


而不是
die(“数据库已存在..请尝试其他名称”)如果查询未执行,请使用
mysqli\u error()
获取实际错误

使用
$\u POST创建数据库
u必须了解SQL注入提示:请检查您的数据库用户是否具有
CREATE
权限,而不是
die(“数据库已存在..请尝试其他名称”)
此错误使用
mysqli\u error()
获取实际错误缺少的操作
应该是
不调用bcoz u r不在表单中使用操作属性
<form method="post" action="db.php">