【问题标题】:Error creating database using php mysql使用 php mysql 创建数据库时出错
【发布时间】:2013-12-16 19:26:53
【问题描述】:

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

【问题讨论】:

  • 您是否使用 Cpanel 来托管您的网站?如果是这样,Cpanel 不允许您创建这样的数据库,请在此处查看我的答案:stackoverflow.com/questions/6960630/…
  • 您在这里犯了许多极其严重的错误。你为什么不使用development framework?这将使像proper SQL escaping 这样的基本事情更难绊倒,以避免由于鲁莽地将$_POST 数据插入查询、未正确散列用户密码以及使用可悲的是,mysql_query 接口已过时。
  • 换句话说“怎么了?”,几乎所有的东西。从这里创建数据库和表开始。

标签: php mysql database


【解决方案1】:

您应该检查您的 PHP 错误日志,因为您尝试做的甚至不是有效的 PHP,因此与您的数据库相关的任何事情都无法正常工作。

首先,尝试mysql_connect() 而不是mysql_connect_db。还要确保您的数据库用户具有正确的权限(这意味着他们实际上可以创建数据库)。

另外,用mysql_error()检查你的错误,否则很难知道数据库中的错误。

话虽如此,您应该阅读如何使用 PHP 提交表单及其最佳实践。提交表单后创建用户表绝对不是你想做的事情。首先创建您的表,然后在用户注册时将行插入其中。此外,您永远不想存储用户的密码。阅读如何使用Bcrypt 来保存用户密码。

【讨论】:

  • 总是使用长标签 数据库 - 您必须通过 phpMyAdmin 甚至主机控制面板手动创建。无需结束 PHP,然后立即重新启动。
  • 我现在明白了。谢谢大家。:)
【解决方案2】:

在你的 mysql_connect() 中,你必须使用 mysql 的用户名。 mysql的默认用户名是'root'。所以连接应该是这样的

mysql_connect('localhost','root','');

我觉得你的概念是错误的。每次用户访问您的注册页面时,都会访问此页面。因此,每次运行查询“创建数据库用户”时。无需每次都运行此查询。所以你的第一个创建数据库。然后从注册页面检索值。

创建数据库的php脚本是:

<?php

mysql_connect('localhost','root','');
$query=mysql_query('创建数据库用户');
$qu=mysql_query('使用用户');
如果($查询)
{
echo'数据库已创建';
}
其他
{
echo'数据库未创建';
}
?>

   Now the database 'user' is created. 

【讨论】:

    猜你喜欢
    • 2013-08-30
    • 2017-05-26
    • 2016-05-28
    • 2012-07-20
    • 1970-01-01
    • 2013-12-22
    • 2017-11-02
    • 2021-07-24
    • 1970-01-01
    相关资源
    最近更新 更多