我写这个页面是为了从注册页面接收。它重定向,没有显示任何错误,但phpmyadmin不识别我试图创建的数据库,即我甚至无法在phpmyadmin中看到数据库。怎么了?
<html>
<body>
<?
$con = mysql_connect_db("localhost", "user", "");
$create_db = mysql_query('CREATE DATABASE USER', $con);
if($create_db)
{
echo "wored";
}
$dbcreate = mysql_query('CREATE DATABASE USER',$con);
mysql_select_db($dbcreate);
$create = "CREATE TABLE USER1 (userid INT(20) AUTOINCREMENT NOT NULL, username VARCHAR(15) PRIMARY KEY NOT NULL, password VARCHAR(15) NOT NULL)";
mysql_query($create);
$query="INSERT INTO USER1(username,password) VALUES('$_POST[username]', '$_POST[password]');
$result=mysql_query($query);
mysql_close($con);
?>
<?php
header('location:loginpage.html');
?>
答案 0 :(得分:0)
您应该检查您的PHP错误日志,因为您尝试执行的操作甚至不是有效的PHP,因此您的数据库无法正常工作。
首先,尝试mysql_connect()而不是mysql_connect_db。还要确保您的数据库用户具有正确的权限(这意味着他们实际上可以创建数据库)。
另外,请使用mysql_error()检查错误,否则很难知道数据库中的失败。
话虽如此,您应该了解如何使用PHP及其最佳实践提交表单。提交表单后创建用户表绝对不是您想要做的事情。首先创建表,然后在用户注册时将行插入其中。此外,您永远不想存储用户的密码。阅读有关如何使用Bcrypt保存用户密码的信息。
答案 1 :(得分:0)
在你的mysql_connect()中,你必须使用mysql的用户名。 mysql的默认用户名是“root”。所以连接应该是这样的
mysql_connect('localhost','root','');
我失去了你的概念是错误的。每次用户进入您的注册页面时,都会显示此页面。因此每次运行查询“创建数据库用户”时。每次都不需要运行此查询。所以你的第一个创建数据库然后从注册页面检索值。
create database的php脚本是:
<?php
的mysql_connect( '本地主机', '根', '');
$ query = mysql_query('create database user');
$ qu = mysql_query('use user');
如果($查询)
{
echo'Database被创建';
}
否则
{
echo'Database未创建';
}
?&GT;
Now the database 'user' is created.