このコードでは、ユーザがテーブルに存在するかどうかをチェックし、ユーザのテーブルを作成しない場合はチェックする必要があります。今はテーブル$ MyServerに名前を付けるだけです。名前を変数$ MyServerにするにはどうしたらいいですか?上記の私のコメントにもかかわらずPHPで特定の変数(MySQLi)のテーブルを作成する
<?php
require "conn.php";
echo "debug 1";
$stmt = $conn->prepare("SELECT * FROM UserData WHERE username = ?");
$stmt->bind_param('s',$username);
$username = $_POST["username"];
$stmt->execute();
$stmt->store_result();
echo "debug 2";
if ($stmt->num_rows == 0){ // username not taken
echo "debug 3";
$stmt2 = $conn->prepare("INSERT INTO UserData (username, password) VALUES (?, ?)");
$password =($_POST["password"]);
$username =($_POST["username"]);
$stmt2->bind_param('ss', $username, $password);
$stmt2->execute();
$MyServer =($_POST["username"]);
$sql = ('CREATE TABLE $MyServer (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(30) NOT NULL
)');
if($conn->query($sql) === TRUE){
echo "Table created successfully";
} else {
echo "Table is not created successfully ";
}
if ($stmt2->affected_rows == 1){
echo 'Insert was successful.';
}else{ echo 'Insert failed.';
var_dump($stmt2);
}
}else{ echo 'That username exists already.';}
?>
をそれは一般的に記念碑的に悪い考えです。 – Difster
また、SQLインジェクション攻撃の可能性があることに注意してください。 –
どうすれば自分自身を守ることができますか –