私はPHPでINSERT INTO SQLステートメントを使用しようとしています。最後の値($bands_bio
)まですべてを正確に入力します。正しい情報を入力するのではなく、値を空白のままにします。私はすべてを見渡しており、構文エラーのようなものは見つけられないようです。あなたが見ることができるようにINSERT INTOステートメントは特定の値を正しく挿入しませんか?
$page_title = "Create a new band";
require ('includes/database.php');
require_once 'includes/bandsHeader.php';
$band_name = $conn->real_escape_string(trim(filter_input(INPUT_GET, 'band_name', FILTER_SANITIZE_STRING)));
$band_photo = $conn->real_escape_string(trim(filter_input(INPUT_GET, 'band_photo', FILTER_SANITIZE_STRING)));
$genre = $conn->real_escape_string(trim(filter_input(INPUT_GET, 'genre', FILTER_SANITIZE_STRING)));
$band_bio = $conn->real_escape_string(trim(filter_input(INPUT_GET, 'band_bio', FILTER_SANITIZE_STRING)));
echo $band_bio;
if (($band_name === "") OR ($genre === "") OR ($band_photo === "") OR ($band_bio = "")) {
$errno = $conn->errno;
$errmsg = $conn->error;
echo "<div id='contentWrapper'>";
echo "<div class='contentBox'>";
echo "Insertion failed with: ($errno) $errmsg<br/>\n";
echo "</div></div>";
$conn->close();
include 'includes/searchFooter.php';
exit;
}
$albums = 0;
$sql = "INSERT INTO bands VALUES (NULL, '$band_name', '$genre', '$albums', '$band_bio')";
$query = @$conn->query($sql);
if (!$query) {
$errno = $conn->errno;
$errmsg = $conn->error;
echo "<div id='contentWrapper'>";
echo "<div class='contentBox'>";
echo "Insertion failed with: ($errno) $errmsg<br/>\n";
echo "</div></div>";
$conn->close();
include 'includes/footer.php';
exit;
}
、私はそれはそれはとてもそれは問題ではありませんでGETメソッドを使用して、私のフォームから正しい値を得ていたかどうかを確認するために、$band_bio
をエコー。私のデータベースの私のbands
テーブルのband_bio
という最後の列であるはずの最後の値まで、すべてを正しく挿入することは問題ありません。エラーも何も出力されません。これは、文字列データを変数から取り出して、情報を挿入する前にすべてのテキストを削除しているかのようです。
私はこのウェブサイトで数週間働いており、INSERT INTOステートメントを他のページと全く同じ方法で使用しています。これは本当に私を困らせた最初の事であり、私はそれを理解できません。どんな助けもありがとうございます。
'bands'テーブルのddl(スキーマ)とは何ですか? – eggmatters
可能であれば、あなたが挿入した+サンプル値はどのようなものか: – vuryss
'$ bands_bio = "' ');本当の'" 'からバンドからの削除? – eggmatters