2017-07-21 9 views
0

私の経験では、私は決して準備文を使ったことがありませんでした。PHP - SQLの準備済み文db2/odbc(注射防止)

具体的には、odbc接続を使用してDB2データベースを更新するフォームを使用するサイトがあります。私はこの世界では新しいですが、私は以下の質問が脆弱であることを認識しています。

準備文を作成するにはどうすればよいですか? 、詳しくは

$sql = " UPDATE " . A4F_CUSTMSTFC . " 
    SET XBLZIC = ? 
    WHERE XCSTNO = ?"; 
$stmt = odbc_prepare($connectionstring, $sql); 
$success = odbc_execute($stmt, array($_POST['zip'], $_POST['uname'])); 

http://php.net/manual/en/function.odbc-prepare.phpを参照してくださいが、基本的にはちょうど置く:?あなたはこのような何かを行うことができるはず

$connectionstring = odbc_connect(A4_ODBCLINK, A4_ODBCUSER, A4_ODBCPW); 

    if (!$connectionstring) { 
    die('Could Not Connect:'); 

    } 

    $sql = " UPDATE " . A4F_CUSTMSTFC . " 
     SET XBLZIC ='" .$_POST['zip'] . "' 
     WHERE XCSTNO ='" .$_POST['uname']. "'"; 

    $queryexe = odbc_exec($connectionstring, $sql); 

答えて

2

後でバインドする変数の代わりに使用します。

+0

恐縮です、ありがとうございます。それは私が元々考えていたよりも理にかなっています! –

+0

2つのクエリでこれをやりたければ、これに従うだけですが、例えば$ sql2、$ stmt2、$ success2を使用しますか? –

+0

うん。そして良いことは、ステートメント($ stmt)が再利用可能であるということです。したがって、DBはこれらのクエリを最適化して再利用することができます。 – EvanM

関連する問題