0
私はこのフォームを持っています。フォームを提出した後、個人情報は個人テーブルに保存され、ブックテーブルに詳細が記録されます。 idを介して2つのテーブルの間にリンクがあります。私の要件があるフォームを送信してホームページに投稿
$user_query = "INSERT INTO personaldetails(FirstName ,MiddleName,LastName,
Gender,Location,Email,Mobile) VALUES ('$users_firstname',
'$users_middlename', '$users_lastname', '$users_gender','$users_location','$users_email','$users_mobile');";
$result = mysqli_query($mysqli, $user_query);
$user_id = mysqli_insert_id($mysqli);
foreach($_POST['booktitle'] as $key => $bookTitle) {
$bookTitle = mysqli_real_escape_string($mysqli, $bookTitle);
$bookGenre = mysqli_real_escape_string($mysqli, $_POST['bookgenre'][$key]);
$bookWriter = mysqli_real_escape_string($mysqli, $_POST['bookwriter'][$key]);
$bookDescription = mysqli_real_escape_string($mysqli, $_POST['bookdescription'][$key]);
$book_query = "INSERT INTO bookdetails(BookTitle ,BookGenre,BookWriter,
BookDescription, UserId) VALUES('$bookTitle',
'$bookGenre', '$bookWriter', '$bookDescription', '$user_id');";
、私が詳細と書籍の詳細個人に挿入されたデータは、ホームページ(同じFacebookのステータス更新)私はエコーしようとしています
に掲示しなければならない、私はポスト]ボタンをクリックした瞬間両方のテーブルのデータはjasonと同じですが、テーブルの行全体をフェッチしています。
$sql1 = mysql_query("select * from personaldetails");
$sql2 = mysql_query(" select BookTitle,BookGenre,BookWriter,BookDescription from bookdetails INNER JOIN personaldetails ON (bookdetails.UserId = personaldetails.Id)");
echo '{"personaldetails": [';
while($row=mysql_fetch_array($sql1))
{
$id=$row['Id'];
$fname=$row['FirstName'];
$mname=$row['MiddleName'];
$lname=$row['LastName'];
$gender=$row['Gender'];
$location=$row['Location'];
$email=$row['Email'];
$mobile=$row['Mobile'];
echo '
{
"Id":"'.$id.'",
"FirstName":"'.$fname.'"
"MiddleName":"'.$mname.'"
"LastName":"'.$lname.'"
"Gender":"'.$gender.'"
"Location":"'.$location.'"
"Email":"'.$email.'"
"Mobile":"'.$mobile.'"
},';
}
echo ']}';
echo '{"bookdetails": [';
while($row=mysql_fetch_array($sql2))
{
$btitle=$row['BookTitle'];
$bgenre=$row['BookGenre'];
$bwriter=$row['BookWriter'];
$bdescription=$row['BookDescription'];
echo '
{
"BookTitle":"'.$btitle.'"
"BookGenre":"'.$bgenre.'"
"BookWriter":"'.$bwriter.'"
"BookDescription":"'.$bdescription.'"
},';
}
echo ']}';
?>
私はjqueryやajaxを通じてapiを呼び出して行うことができますが、それを行う方法はわからないという考えがあります。または私はurl paramsも必要とするかもしれません。 ご迷惑をおかけしている場合は、私を助けてください。私は感謝します。
[Little Bobby](http://bobby-tables.com/)は、[あなたのスクリプトはSQLインジェクション攻撃の危険性があると言います。](http://stackoverflow.com/questions/60174/how- can-i-prevent-sql-injection-in-php)[MySQLi](http://php.net/manual/)の[prepared](http://en.wikipedia.org/wiki/Prepared_statement)ステートメントについて学んでください。 en/mysqli.quickstart.prepared-statements.php)。 [文字列をエスケープする](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)でも安全ではありません! –
あなたは 'mysq'または' PDO'を使用する必要があるときに 'mysql'を使っています。あなたの問題ごとに、テーブルから '*'を選択しました。その理由は ''テーブルの行全体をフェッチしているからです。挿入したばかりのデータを取得するために 'lastInsertId'を使ってみてください。 –
また、 'JSON'を出力する方法は面白いです。 –