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