2012-05-09 8 views
1

に直接値を渡す私は、次のコードを持っている:accStatus='A', accDate=NOW(), accOrder=$acctIDは、プリペアドステートメントメソッドのPHP

$stmt = $mysqli->prepare("INSERT INTO account 
          SET accFirstName=?, accLastName=?, accTelephone=?, 
           accAltTelephone=?, accAddress=?, accCountry=?, 
           accCity=?, accRegion=?, accPostalCode=?, 
           accEmail=?, accEmailConfirmed=?, accPassword=?, 
           accType=?, accStatus='A', accDate=NOW(), 
           accOrder=".$acctID); 

は、私のような、それを結合whithout prepare()に直接値を渡すことはできますか?

これらの値はユーザーの入力ではなく、セキュリティについてここで話す必要はありません。

これはphp/mysqlの正しい構文ですか?

の間で、クエリを実行すると、データがDBに正しく保存されます。

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

+3

ええ、それは問題ありません。 –

答えて

2

ストアドプロシージャと組み合わせたプリペアドステートメントは、同じクエリが他のデータとともに複数回実行されると、パフォーマンスが向上します。そのクエリーがスクリプトごとに1回だけ実行される場合は、説明どおりに実行することができますが、セキュリティの喪失を覚えておいてください。

例がここで見つけることができます:プリペアドステートメントによって束縛のないクエリの

http://php.net/manual/en/pdo.prepared-statements.php

あなたの構文/文字列が正常に見えます。