2

データベース テーブルに値を挿入しようとしています。行は挿入されますが、空白の値は挿入されません。自動インクリメントの主キーである order_id のみが増加します。

phpコード:

<?php
        $user_get = mysql_query("SELECT * FROM users"); 
        while($row_user = mysql_fetch_assoc($user_get)){
            if($row_user['username'] == $_SESSION['username']){
                $row_user['first_name'] = $res1;
                $row_user['last_name'] = $res2;

                $store_order ="INSERT INTO oko (user, product) VALUES ('$res1', '$res2')";
                mysql_query($store_order);
            }
        }
?>
4

2 に答える 2

5

あなたの割り当ては逆です。私はあなたが意図したと思います:

$res1 = $row_user['first_name'];
$res2 = $row_user['last_name'];
于 2013-03-19T21:52:19.777 に答える
3

あなたは意味しません:

$res1 = $row_user['first_name'];
$res2 = $row_user['last_name'];

を更新SELECTして、 をチェックする WHERE 句を含めることもできます$_SESSION['username']

INSERT/SELECT を実行することできます。

INSERT INTO oko (user, product)
SELECT
    first_name, last_name
FROM
    users
WHERE
    username = '$_SESSION["username"]'

あなたのコードはインジェクションに対して脆弱です。PDO/mysqli で適切にパラメータ化されたクエリを使用する必要があります

于 2013-03-19T21:52:44.757 に答える