2

PHP で、サインアップ情報をデータベースに挿入しようとしています。一連のエラーを処理しましたが、フォームを送信した後、ウィンドウに何も表示されず、データベースに何も書き込まれません。ウィンドウが空白になります。回答を調査しましたが、役立つものは何も見つかりませんでした。特定のコード文字を使用しようとする方法と使用しない方法の両方で、さまざまな手法を使用して VALUES ステートメントを何度か書き直しました。文字には、{}、[]、""、および '' が含まれます。

データを消去するためのステートメントをまだ作成していません。これが必要になることはわかっています。最初にスクリプトを機能させたいだけです。

フォームの現在のコードは 1 つのファイルに存在し、現在の PHP コードは最初のファイルによって参照される別のファイルに存在します。これが私の現在のPHPコードです:

<?php

if (isset($_POST['submit']))
{

$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$user_name = $_POST['user_name'];
$band_name = $_POST['band_name'];
$label_name = $_POST['label_name'];
$city = $_POST['city'];
$state = $_POST['state'];
$zip_code = $_POST['zip_code'];
$email = $_POST['email'];
$confirm_email == ['email'];
$password = $_POST['password'];
$confirm_password == ['$password'];

$dbc = mysqli_connect('localhost', 'root', 'fishstench', 'Site Database.mwb.bak')
or die('Error connecting to MySQL server.');

$query = "INSERT INTO Users (User_ID, First_Name, Last_Name, User_Name, (SHA)Password, Email, Join_Date " . 
"VALUES ('{$_POST[First_Name]}','{$_POST[Last_Name]}','{$_POST[User_Name]}','{$_POST[Password]},','{$_POST[Email]}','{$_POST[date]}')";

$query = "INSERT INTO Location (City, State, Zip_Code " .
"VALUES '{$_POST[City]}','{$_POST[State]}','{$_POST[Zip_Code]}')";

$query = "INSERT INTO Band_Name (Band_Name, Label_Name " .
"VALUES '{$_POST[Band_Name]}','{$_POST[Zip_Code]}')";

$result = mysqli_query($dbc, $query)
or die('Error querying database.');

mysqli_close($dbc);

echo 'Thanks for signing up!<br />';

} ?>
4

2 に答える 2

1

まず、上記の2つを上書きしているため、最後のクエリのみが実行されます(それはあなたが望むものではないと思いますか?)。

$_POSTが設定されている場合は配列をチェックsubmit(key)し、チェックに合格するには、var_dumpまたはprint_rチェックの直前に使用します。

   if (isset($_POST['submit'])) {
   ....
   }

=これらの行には、比較演算子の代わりに代入演算子が必要です==

 $confirm_email == ['email'];
 $confirm_password == ['$password'];
于 2012-11-09T22:40:40.067 に答える
0

最初のクエリで閉じ括弧を忘れました。私はそれがあるべきだと思います:

$query = "INSERT INTO Users (User_ID, First_Name, Last_Name, User_Name, (SHA)Password, Email, Join_Date) " . 
"VALUES ('{$_POST[First_Name]}','{$_POST[Last_Name]}','{$_POST[User_Name]}','{$_POST[Password]},','{$_POST[Email]}','{$_POST[date]}')";

また、他のクエリの括弧が正しくないようです。次のようにする必要があると思います。

$query = "INSERT INTO Location (City, State, Zip_Code) " .
"VALUES ('{$_POST[City]}','{$_POST[State]}','{$_POST[Zip_Code]}')";

$query = "INSERT INTO Band_Name (Band_Name, Label_Name) " .
"VALUES ('{$_POST[Band_Name]}','{$_POST[Zip_Code]}')";

今後、エラーを検出するために、結果をチェックしてエラーがあるかどうかを確認します。

$result = mysqli_query($query, $connection);
if (!$result) {
    exit("mysqli_query() error: ", mysqli_error($connection), "\nquery was: $query\n");
}
于 2012-11-09T22:41:59.493 に答える