0 レビュー
1 回答
PHPとMySQLmysqli->prepareがFPDFファイルで失敗し続ける
わかりました。 FPDFを使用した最初のプロジェクトビルドでSQLインジェクションを防止しようとしています。
(私の安全でないソリューションが機能しているので、FPDFとは特に関係がないと思います。これはPDFを生成するためのデータを取得するために使用されると言っただけです:))
以下のコードは非常にうまく機能しています。ただし、インジェクションに対して脆弱です:
$mysqli = mysqli_connect('','','',''); // Empty on purpose due to posting here :)
$IDQuery = mysqli_query($mysqli,"SELECT ID FROM sendsubmits WHERE ID = $ID");
$ID
は、次のようにURLから取得した整数です:
$ID = htmlspecialchars($ _ GET ["ID"]);
私が理解している限り、 $ID
を?
と交換する必要があります。次に、bind_paramを使用して挿入します。
私はここのドキュメントを試してフォローしました: http://php.net/manual/en/mysqli-stmt.bind-param.php
そして私の結果はこれです:
$ mysqli = new mysqli(''、''、''、''); //ここに投稿するため意図的に空にします:)
/*接続を確認します*/
if(mysqli_connect_errno()){
printf( "接続に失敗しました:%s \ n"、mysqli_connect_error());
出口();
}
$ID Query = $ mysqli-> prepare('SELECT ID FROM sendsubmits WHERE ID = ?');
$ID Query = bind_param('i'、$ID);
$ID Query = execute();
printf('%d行が挿入されました。\ n'、$ stmt->affected_rows);
$ID Query-> close();
これは機能していません。そして、その理由がわからないようです。
提案?
わからない
0
レビュー
答え :
解決策:
$IDQuery = bind_param('i', $ID);
しかし$IDQuery->bind_param('i', $ID);
executeでも同じです。次回は、マニュアルで読んだ内容を理解してみてください
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。