使用php mysql创建数据库时出错

时间:2013-12-16 19:26:54

标签: php mysql database

我写这个页面是为了从注册页面接收。它重定向,没有显示任何错误,但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');
?>

2 个答案:

答案 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.