0

私は joomla 2.5 Web サイトで作業しています & フォーム送信時にフォームに入力されたデータベースに値を挿入しようとしています。しかし、なぜ彼らがDBに挿入していないのかわかりません。みんな助けてください。

私はさまざまな方法を試しましたが、どこが間違っているのかわかりません。

これは私のコードです:

    if(isset($_POST["buttonSubmit"]))
    {
        $name = $_POST["name"];
        $location = $_POST["location"]; 
        $email = $_POST["email"];   
        echo $name;
        $db =& JFactory::getDBO();
        echo $query = "INSERT INTO '#__pxa_map' ('name', 'location','email') VALUES ($name, $location,$email)";
        $db->setQuery( $query );
        $db->query();  
    }

joomla 2.5でデータベースに値を挿入する方法

4

1 に答える 1

3

エラー処理を追加し、準備されたステートメントを使用する必要があります (できれば、Joomla 2.5 でどのように機能するかわかりません) が、クエリは間違っています:

  1. テーブル名とフィールド名を引用符で囲むのではなく、必要に応じてバッククォートでエスケープします。
  2. 準備済みステートメントを使用しない場合は、値を引用します。
  3. $db->quote()SQLインジェクションを防ぐために、入力を実行する必要があります。

したがって、次のようになります。

$db = JFactory::getDbo();
$name = $db->quote($_POST["name"]);
// etc.

$query = "INSERT INTO `#__pxa_map` (`name`, `location`,`email`) VALUES ('$name', '$location','$email')";
于 2013-06-17T13:01:50.343 に答える