-3

現在PHPとMySQLを学んでいます。MySQL データベースを生成するための単純な HTML フォームと PHP スクリプトを作成しましたが、テストしたところ、機能しませんでした。フォームを送信した後、「サーバー エラー。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 を使用していません。コードに適切な例外処理を実装することは常に良い考えです。利点は 2 つあります: 返されたスタック トレースに基づいてコードをデバッグしやすく、提供できるフロントエンドにも基づいています。ユーザーに意味のあるメッセージを送信したり、より高いレベルでプログラムによってアクションを実行したりできます。

そうは言っても、手巻きのMySql接続コードを最後に見たのはいつだったか思い出せません。フレームワークの時代だったと思います。

于 2013-01-23T00:59:34.337 に答える