データベースに書き込む必要のあるフォームデータがあります。私は、クエリ文字列を形成し、mysqliに渡すが、私の主キーがnullにすることはできませんエラーを取得します。それはnullではなく、クエリ文字列はmysql端末で正常に実行されます。PHPでの挿入時にMySqliエラーが発生しましたが、同じクエリ文字列が端末で正常に実行されます
$query_string = "insert into podnosilac (ime, prezime, jmbg)
values (
aes_encrypt('". $mysqli->real_escape_string($_SESSION["ime"])."', @key_str, @init_vector),
aes_encrypt('". $mysqli->real_escape_string($_SESSION["prezime"])."', @key_str, @init_vector),
aes_encrypt('". $mysqli->real_escape_string($_SESSION["jmbg"])."', @key_str, @init_vector)
)";
if (!$mysqli->query($query_string)) {
echo $mysqli->error;
}
これは私がちょうどmysqli-の上にそれをエコーするとき$ QUERY_STRINGの値である>クエリ行:
$mysqli->query("insert into podnosilac (ime, prezime, jmbg)
values (aes_encrypt('ivana', @key_str, @init_vector), aes_encrypt('corovic', @key_str, @init_vector), aes_encrypt('12345678910', @key_str, @init_vector))");
:実際のところ
insert into podnosilac (ime, prezime, jmbg)
values (aes_encrypt('ivana', @key_str, @init_vector), aes_encrypt('corovic', @key_str, @init_vector), aes_encrypt('12345678910', @key_str, @init_vector))
、私はこの行をしようとすると、
私はまだ "列 'jmbg'をnullにすることはできません。
これはaes_encryptと関係があります。 @key_strと@init_vectorはデータベース上で定義されていますが、これはそれらを渡す方法ではないでしょうか?
なぜこのようなことが起こる可能性がありますか?
@key_strと@init_vectorはどこに定義されていますか? –
プライマリキーは自動的にインクリメントされますか? –
エラーはどうなりますか? – Unex