0

ユーザー名、パスワード、および電子メールを 1 つのデータベースのテーブルに挿入しようとしていますが、同じユーザー名を挿入しようとしていますが、パスワードと電子メールの代わりに 1 を設定します (通知行に)。これが私のコードです:

<?php
**$con= new mysqli("localhost","root","","users");
$con2 = new mysqli("localhost","root","","notification");**
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$hpassword = hash( 'sha512', $_POST['password'] );
$eusername = mysqli_real_escape_string( $con, $_POST['username'] );
$eemail = mysqli_real_escape_string( $con, $_POST['email'] );
$fusername = str_replace(' ', '', $eusername);
$check = "SELECT * FROM users WHERE username='$fusername'";
$result = mysqli_query($con, $check);
$data = mysqli_fetch_array($result, MYSQLI_NUM);
if($data[0] > 1) {
    echo "User Already in Exists<br/>";
}

else
{
    **$con->query="INSERT INTO users (username, password, email) VALUES ('$fusername','$hpassword','$eemail')";
    $con2->query="INSERT INTO notification (username, notifications) VALUES ('$fusername','1')";**
    if (mysqli_query($con,$con->query))
    {
    if (mysqli_query($con,$con2->query))
    {
    }
    else
    {
    }
    sleep(2);
    header("location:login.php");
    }
    else
    {
        echo "Error: Username already exists.<br/>";
    }
}
mysqli_close($con);
?> 

現在、ユーザー データベースにデータを送信するだけです。通知データベースではありません。

4

1 に答える 1

1

2 回目の mysqli_query 呼び出しで$conは、最初と同じ接続を使用します。代わりに を使用します$con2

if (mysqli_query($con,$con->query))
{
if (mysqli_query($con2,$con2->query))    // <--- used $con2 here
{
}
于 2013-07-24T02:06:40.277 に答える