0

テキストエリア入力があり、データベースに送信しようとしています

「イスタンブールのカナヤン・ヤラス・オラン・ウラシム、オゼリクル・アナドル・ヤカスンダン・カルタル・ダン・カドゥキョイ・ウラシム・ネレデイセ2サテ・ヴァルマス・ユズンデン・ペリシャン。デヴレティン・デ・ポリティカラリ・アシカル。

文章。

>に行きます

$bahisaciklamax = $_POST["bahisaciklama"];
$bbb=str_replace("\r\n", "<br />", $bahisaciklamax);
$bahisaciklama=strtolower(strip_tags($bbb, '<br><br /><br/><br />'));

そしてこのエラーを与える:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'un kanayan yarası olan ulaşım, özellikle anadolu yakasından kartal'dan kadıköy'e' at line 1

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

4

あなたのコードはSQL インジェクションの傾向があります。PDOまたはMYSQLIを使用する

PDO 拡張機能の使用例:

<?php

    $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
    $stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");
    $stmt->bindParam(1, $name);
    $stmt->bindParam(2, $value);

    // insert one row
    $name = 'one';
    $value = 1;
    $stmt->execute();

?>

これにより、一重引用符でレコードを挿入できます。

于 2012-08-16T01:44:11.147 に答える