[ad_1]
送信ボタンをクリックすると、上記のエラーが表示されます
私が試したこと:
<?php include "db1.php"; include "config.php"; $db = new database(); if (isset($_POST['submit'])){ $title = $_POST['title']; $content = $_POST['content']; $query = "INSERT INTO posts(title,content) VALUES('$title',$content')"; $run=$db->insert($query); } ?> <!DOCTYPE html> <html> <head> <title></title> </head> <body> </body> </html> <form action="insert_post.php" method="post" enctype="multipart/form-data"> <div class="form-group"> <center><table width="800" align="center" border="2"> <tr bgcolor="orange"> <td colspan="6"><h1 style="text-align:center">Post EDIT</h1></td> </tr> <tr> <td align="right" bgcolor="orange">Post title:</td> <td><input type="text" name="title" size="60"></td> </tr> <tr> <td align="right" bgcolor="orange">Post Content:</td> <td><textarea name="content" rows="15" cols="40"></textarea></td> </tr> <tr> <td colspan="6" align="center" bgcolor="orange"><input type="Submit" name="submit" value="Publish Now" /></td> </tr> </table>
解決策 1
提出されたコードによると、9行目に構文エラーがあります
$query = "INSERT INTO posts(title,content) VALUES('$title',$content')";
これは次のように変更する必要があります
$query = "INSERT INTO posts(title,content) VALUES('$title','$content')";
前に見積もりを逃した理由 $content
解決策 2
$query = "INSERT INTO posts(title,content) VALUES('$title',$content')";
あなたの質問に対する解決策ではありませんが、別の問題があります。
文字列を連結して SQL クエリを作成しないでください。 遅かれ早かれ、ユーザー入力でそれを行うことになります。これにより、「SQL インジェクション」と呼ばれる脆弱性への扉が開かれます。これは、データベースにとって危険であり、エラーが発生しやすいものです。
名前に一重引用符があると、プログラムがクラッシュします。 ユーザーが「Brian O’Conner」のような名前を入力すると、アプリがクラッシュする可能性があります。これは SQL インジェクションの脆弱性であり、クラッシュは問題の中で最も少なく、悪意のあるユーザー入力であり、すべての資格情報を含む SQL コマンドに昇格されます。
SQL インジェクション – ウィキペディア[^]
SQL インジェクション[^]
例による SQL インジェクション攻撃[^]
PHP: SQL インジェクション – マニュアル[^]
SQL インジェクション防止チート シート – OWASP[^]
解決策 11
if(isset($_POST[‘update1’])))
{
$DocumentXID = $_POST[‘DocumentXID’];
$タイトル = $_POST[‘Title’];
$ISBN = $_POST[‘ISBN’];
$キーワード = $_POST[‘Keyword’];
$DateIn = $_POST[‘DateIn’];
$PublisherID = $_POST[‘PublisherID’];
$PublisherDate = $_POST[‘PublisherDate’];
$Editions = $_POST[‘Editions’];
$ProviderID = $_POST[‘ProviderID’];
$Amount = $_POST[‘Amount’];
$DocumentTypeID = $_POST[‘DocumentTypeID’];
$ContactNumber = $_POST[‘ContactNumber’];
$LocationID = $_POST[‘LocationID’];
$ImageURL = $_POST[‘ImageURL’];
$AttachedFile = $_POST[‘AttachedFile’];
$PageNumber = $_POST[‘PageNumber’];
$sql = “Update tbldocument set Title=”$Title”,ISBN=’$ISBN’,Keyword=’$Keyword’,DateIn=’$DateIn’,PublisherID=’$PublisherID’,PublisherDate=”$PublisherDate”,Editions =”$エディション”,
ProviderID=’$ProviderID’,Amount=”$Amount”,DocumentTypeID=’$DocumentTypeID’,ContactNumber=”$ContactNumber”,LocationID=’$LocationID’,ImageURL=’$ImageURL’,
AttachedFile=”$AttachedFile”,PageNumber=”$PageNumber” Where DocumentXID=’$DocumentXID'”;
if (mysqli_query($conn, $sql)) {
// echo “新しいレコードが正常に追加されました!”;
} それ以外 {
echo “エラー: ” . $sql . “:-” . mysqli_error($conn);
}
// mysqli_close($conn);
}
[ad_2]
コメント