0

Joomla を使用して開発したコードで mysql mysql_real_escape_string($somevariable) を使用しました! API。この質問がエラーを示していることを除いて、すべてが完全に機能しています。

mysql_real_escape_string(): Access denied for user 'www-data'@'localhost' (using password: NO) in /var/www/JOOMLA/components/com_quiz/models/questions.php

私はインターネットで検索し、次の解決策を得ました: a$con=mysql_connect(....);を作成し、これを 2 番目のパラメーターとして渡しますmysql_real_escape_string($somevariable,$con)

問題は、コードのあらゆる場所で Joomla API を使用していることです。 $db =& JFactory::getDBO();これにデフォルトの Joomla db オブジェクトを使用できますか??

基本的に私は次のようなものが欲しい $db =& JFactory::getDBO(); mysql_real_escape_string($somevariable,$db)

しかし、それはエラーを示しています: mysql_real_escape_string() expects parameter 2 to be resource, object given in /var/www/JOOMLA/components/com_quiz/models/questions.php on line 85

ありがとうございました。

4

2 に答える 2

3

Joomla データベース オブジェクトを使用してクエリを実行している場合、なぜ mysql ライブラリのエスケープ関数を使用するのでしょうか? その必要はありません。DBO を使用して適切にエスケープされた SQL クエリを作成する方法を示すこのJoomla wiki エントリに従ってください。

于 2012-07-05T20:41:55.807 に答える
0

代わりに $db->quote($somevariable); を使用してください。

于 2012-07-06T12:45:51.477 に答える