[ad_1]
こんにちは、変数のデータを MYSQLI ステートメントに入れる必要がありますが、何かがうまくいかず、次のメッセージが表示され続けます。
Parse error: syntax error, unexpected '$nr' (T_VARIABLE) in E:\xampp\htdocs\test3\zgloszenie.php on line 13
私のPHPコード:
<?php $host='localhost'; $user='root'; $pass=''; $db='ratownictwo'; $nr = $_POST['nzr']; $ndz = $_POST['nd']; $adde = $_POST['add']; echo $nr; $conn=mysqli_connect($host,$user,$pass,$db); $q = 'INSERT INTO `zgloszenia` (ratownicy_id, dyspozytorzy_id, adres, pilne, czas_zgloszenia) VALUES ('$nr','$ndz','$adde', 0, CURRENT_TIME)'; $ress= mysqli_query($conn, $q) or die ('Coś poszło nie tak'); mysqli_close($conn); ?>
および HTML コードの一部:
<div class="glowny"> <h2>Dodaj nowe zgłoszenie</h2> <form action="zgloszenie.php" method="POST"> <label for="nzr">Numer zespołu ratowniczego</label><br/> <input type="number" name='nzr'><br/> <label for="nd">Numer dyspozytora</label><br/> <input type="number" name='nd'><br/> <label for="add">Adres</label><br/> <input type="text" name='add' size="100"><br/> <input type="reset" value='WYCZYŚĆ'> <input type="submit" value='ZGŁOŚ'> </form> </div>
フォーム セクションからのデータは通常 PHP コードに渡されますが、私の SQLi 構文はこの内容を読み取ってそれらに入れることができません。
私が試したこと:
こんにちは、変数のデータを MYSQLI ステートメントに入れる必要がありますが、何かがうまくいかず、次のメッセージが表示され続けます。
解決策 3
$q = “INSERT INTO コール (rescuers_id、dispatchers_id、address、urgent、call_time) VALUES (‘ “.$nzr.” ‘,’ “.$nd.” ‘,’ “.$add.” ‘, 0, CURRENT_TIME )”;
解決策 1
あなたのコードは脆弱です SQL インジェクション[^]. 一度もない 文字列連結を使用して SQL クエリを作成します。 いつも パラメータ化されたクエリを使用します。
PHP: SQL インジェクション – マニュアル[^]
PHP: プリペアド ステートメントとストアド プロシージャ – Manual[^]
その脆弱性を修正すると、エラーがなくなります。
解決策 2
この問題の解決策は非常に簡単なので、以下に配置します。
$q = "INSERT INTO `zgloszenia` (ratownicy_id, dyspozytorzy_id, adres, pilne, czas_zgloszenia) VALUES ('$nzr','$nd','$add', 0, CURRENT_TIME)";
問題は私の (‘) であり、(“) に変更する必要があります。
答えてくれてありがとう!
[ad_2]
コメント