2012-03-29 2 views
0

に取り組んでいないmysql_real_escape_stringの.PHPは、これは非常に奇妙ですが、私はそれがページをロードしませんmysql_real_escape_stringのを追加するときに、これは私はこのようなロードコードでjQueryの負荷

$id=$_GET['codigo']; 
$conexion=mysql_connect(HOSTNAME,USER,PW) or die("Problemas en la conexion"); 
mysql_select_db("bandasideral4",$conexion) 
    or die("Problemas en la selección de la base de datos"); 
$registros=mysql_query("SELECT * FROM abanda where codigo='$codigo'") or 
    die("Problemas en el select:".mysql_error()); 

私は $ IDを追加する場合= $ _ GET [ 'codigo']; 〜$ id = mysql_real_escape_string($ _ GET ['codigo']); 稼働を停止します

+0

どのように「機能しなくなるのですか? – Cfreak

+5

あなたのMySQLはポート3306でリッスンしており、ホスト(IP)、ユーザー名、およびパスワードを送信したばかりです。私はちょうどそれをテストするためにログインしました。パスワードを変更する必要があります** asap ** – Paulpro

+1

jeroenは彼の答えですが、PDOかMySQLiを使って準備された文を使う方が良いでしょう。 – GolezTrol

答えて

4

mysql_real_escape_stringが利用できない場合は、まずデータベースに接続する必要があります。

manual

より:

MySQLの接続は(mysql_real_escape_stringのを使用する前に必要とされる) さもなければレベルE_WARNINGのエラーが生成され、そしてFALSE が返されます。 link_identifierが定義されていない場合、最後のMySQL接続 が使用されます。

0

あなたは$のIDでcodigoを置く場合は、あなたのSQLはabanda codigo = '$のID' SELECT * FROMでなければなりません

より良いスタイルは、このようになります: $ ID_S = mysql_real_escape_stringの($ _ GETの[」 codigo ']);

したがって、すべての* _s変数がSQLのためにエスケープされ、すべての通常の変数が汚染されたデータになります。

関連する問題