私は奇妙な問題があります。PHP MySQL - スクリプトの特定の部分を削除できません
基本的に私はユーザーがサインアップできるページを持っています。情報はMySQLデータベースに送られ、そこに格納されます。ページ上で作業が行われる前に、そのテーブルがすでに存在する場合は、短いスクリプトを変更したいと思っています。存在しない場合は作成され、存在する場合は次のタスクに進みます。
ただし、「レポート結果」の部分を削除すると何らかの理由でエラーが発生します(下記のスクリプトを参照)。私が削除したい理由は基本的にユーザーがテーブルが作成されたばかりであることを知る必要がないからです。
エラーを報告しないでこのパーツを削除できないのはなぜですか?
<?php
$table = "database";
$servername = "xxx";
$username = "xxx";
$password = "xxx";
$dbname = "xxx";
// Connect to database
$conn = new mysqli($xxx, $xxx, $xxx, $xxx);
// Create table if it does not exist
$sql = "CREATE TABLE IF NOT EXISTS $table (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
example-1VARCHAR(30) NOT NULL,
example-2 VARCHAR(30) NOT NULL,
example-3 VARCHAR(50),
example-4 VARCHAR(50),
example-5 VARCHAR(50),
reg_date TIMESTAMP
)";
// Report result <---------------------- PROBLEM HERE
if ($conn->query($sql) === TRUE) {
echo "Table created successfully";
} else {
echo "Error creating table: " . $conn->error;
}
// Insert data into table
if (isset($_POST["submit"])) {
$example-1 = $_POST['example-1'];
$example-2 = $_POST['example-2'];
$example-3 = $_POST['example-3'];
$example-4 = $_POST['example-4'];
$example-5 = $_POST['example-5'];
// Check if already exist in table
$query = "SELECT * from $table where email ='$example-3'";
if ($result=mysqli_query($conn,$query))
{
if(mysqli_num_rows($result) > 0) {
// If already exist in table
echo "Already exists";
} else
// If doesn't exist, add to table
$sql = "INSERT INTO $table (example-1, example-2, example-3, example-4, example-5)
VALUES ('".$example-1."', '".$example-2."', '".$example-3."', '".$example-4."', '".$example-5."')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
}
} else
// If everything fails for technical reason
echo "Query Failed.";
}
$conn->close();
?>
'$例-2 '、などとなり、無効な変数名です。あなたはどんなエラーを受けていますか?また、SQLインジェクションも可能です。 – chris85