-3

我现在正在学习 PHP 和 MySQL。我创建了一个简单的 HTML 表单和 PHP 脚本来生成 MySQL 数据库,但是当我测试它时,它不起作用。提交表单后,我收到“服务器错误。网站在检索http://www.xxxxx.com/php/createDB.php时遇到错误。可能因维护而关闭或配置错误。

我的 HTML 表单如下:

<body>
<h2>Please enter the following information to create a new database.</h2>
<form action="createDB.php" method="post">
Server Name: <input type="text" name="servername">
Database Name: <input type="text" name="databasename">
User Name: <input type="text" name="username">
Password: <input type="text" name="password">
<input type="submit" value="submit">
</form>
</body>

我的 PHP 脚本如下:

<?php
$server = $_POST['servername'];
$dbname = $_POST['databasename'];
$user = $_POST['username'];
$pwd = $_POST['password'];

$con = mysql_connect($server,$user,$pwd);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
if (mysql_query("CREATE DATABASE" $dbname,$con))
{
echo "Database " .$dbname ." created!";
}
else
{
echo "Error creating database: " . mysql_error();
}
mysql_close($con);
?>

这有什么问题吗?

谢谢。

hc。

4

3 回答 3

3

您的 PHP 脚本存在错误,因此 PHP 无法解析它。

错误 :

if (mysql_query("CREATE DATABASE" $dbname,$con))

试试这个来修复它(不要忘记 DATABASE 和 " 之间的空格):

if (mysql_query("CREATE DATABASE " . $dbname,$con))
于 2013-01-23T00:45:03.873 回答
0

尝试这样的事情,它对我有用,我也在我的本地主机中进行了测试。

<form action="createDB.php" method="post">
    Server Name: <input type="text" name="servername">
    Database Name: <input type="text" name="databasename">
    User Name: <input type="text" name="username">
    Password: <input type="text" name="password">
    <input type="submit" value="submit" name="send">
</form>

PHP 脚本

<?php
  if(isset($_REQUEST['send']))
  {
    $server = $_POST['servername'];
    $dbname = $_POST['databasename'];
    $user = $_POST['username'];
    $pwd = $_POST['password'];

    $con = mysql_connect($server,$user,$pwd);
    if (!$con)
    {
    die('Could not connect: ' . mysql_error());
    }
    if (mysql_query("CREATE DATABASE " . $dbname,$con))
    {
    echo "Database " .$dbname ." created!";
    }
    else
    {
    echo "Error creating database: " . mysql_error();
    }
    mysql_close($con);
  }
?>
于 2013-01-23T06:54:44.397 回答
0

许多 PHP 程序员仍然没有使用 Try Catch,在代码中实现优雅的异常处理总是一个好主意,好处有两个:更容易根据发回的堆栈跟踪调试代码以及​​在您可以提供的前端向您的用户发送有意义的消息和/或在更高级别以编程方式采取行动。

话虽如此,我不记得我最后一次看到手卷 MySql 连接代码是什么时候了,猜测是框架时代。

于 2013-01-23T00:59:34.337 回答