1

私は次のコードを持っています:

$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);

prepare()次のように、バインドせずに値を直接渡すことはできますaccStatus='A', accDate=NOW(), accOrder=$acctIDか?

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

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

その間に、クエリを実行すると、データがDBに適切に保存されます。

あなたの助けをどうもありがとう!

4

1 に答える 1

2

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

例はここにあります:

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

プリペアドステートメントによるバインディングのないクエリの構文/文字列は問題ないように見えます。

于 2012-05-09T13:50:10.417 に答える