私は、各ユーザが自分のテーブルを取得するという簡単なWebサイトを設定しています。 Facebookの壁のバージョン。PHP変数名を使用してテーブルに値を挿入する
これは私がテーブルを作成するときに、私のクエリは次のようになります。しかし
$userTable = mysqli_query($conn, "CREATE TABLE `".$epost."`(
ID INT(255) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
eMail VARCHAR(50) NOT NULL,
comment VARCHAR(500) NOT NULL,
timestampp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
)");
、私はフォームから値を取得し、特定のテーブルにそれらを挿入しようとすると、彼らが見えることはできませんそこに彼らの道を見つける。ここではその私のコードです:「。$メール」私は、変数の異なる「バージョン」をしようとしてきた
<?php
include 'connect.php';
/*if(isset ($_POST['userUser']))*/
$valueEmail = mysqli_real_escape_string($conn, $_POST['userEmail']);
$valueUser = mysqli_real_escape_string($conn, $_POST['userUser']); /*have the user to input the name, so i can connect to the correct DB*/
$valueMessage = mysqli_real_escape_string($conn, $_POST['userMessage']);
$findUserTable = "SELECT * FROM UserInfo WHERE Firstname = '$valueUser'";
$findUserEmail = mysqli_query($conn, $findUserTable);
if(mysqli_num_rows($findUserEmail) > 0) /*finding the name of the persons email*/
{
while ($result = mysqli_fetch_assoc($findUserEmail))
{
$email = $result['Email'];
}
}
/* VALIDATION HERE */
$sql = "INSERT INTO ".$email." (eMail, comment) VALUES ('$valueEmail', '$valueMessage')"; /* wrong query?*/
header("refresh:10 url=userProfil.php");
/*echo '<script>alert("Meddelande skapat!");</script>';*/
echo $sql;
mysqli_close($conn);
?>
、などは、'.$email.'
と".$epost."
。私は私の質問や変数だけをエコーアウトすると正しい名前が得られますが、テーブルを見つけることはできません。 私のコードはひどく匂いがすることをよく知っています。その点で私を助けてください。
は、INSERTクエリを実行することを忘れて! mysqli_query($ conn、$ sql) 'を使用します。 – Saty
@Saty - お返事ありがとうございます。このようなことを意味しますか? if(mysqli_query($ conn、$ sql)){ echo "新規レコードが正常に作成されました"; } else { echo "エラー:" $ sql。 "
" mysqli_error($ conn); } 私はちょうど混乱を引き起こしている場合、これで新しい、申し訳ありません。 –
mysqli_real_escape_stringの使用は必ずしも安全ではありません。代わりにprepared statementsを使用してください。 – apokryfos