私は、カメラの詳細についていくつかのフィールドを取るフォームを持っています。これは私がJoomlaで作成しているカスタムページです。まず私は、データベース・オブジェクトを取得:mysql_real_escape_stringが適用されません
$db = &JFactory::getDBO();
プロセスフォームに入力されたカメラの名前をしてDBに追加します。
$add_name = $_POST['camera_name'];
$query_insert_camera = "INSERT INTO #__cameras (camera_name, ... , user_id) VALUES ('".mysql_real_escape_string($add_name)."', ... ,'".$user->id."')";
$db->setQuery($query_insert_camera);
$db->query();
私はちょうどカメラ名に空の文字列を取得します。私がmysql_real_escape_string
を取ってもうまくいく。私はmysql_real_escape_string
が私は接続を確立している方法が好きではないと推測している...私は思います。
アイデア?
警告が表示されていますか?ドキュメントには、使用する接続が見つからない場合は警告が表示されます。それ以外の場合は、関数ハンドルに接続ハンドルを置くことをお勧めします。 – staticsan
'getDBO()'は実際にどのような接続をしていますか? 'mysql_connect()'、 'mysqli()'、またはPDOで作成していますか?どんなAPIが呼び出されていますか? 'mysql_real_escape_string()'は 'mysql_connect()'で接続が確立された場合にのみ利用可能です。 –
なぜJoomlaのgetVarを使用しないのですか? http://docs.joomla.org/Retrieving_and_Filtering_GET_and_POST_requests_with_JRequest::getVar – Shaz