-2

こんにちは、いくつかの列にデータを挿入しようとしていますが、うまくいきません。誰か助けてくれませんか?

私はこれを持っています

<form  action="member.php?id=<?php echo $data["id"];?>" method="post" style="display:inline-block; font-size:14px">

<input type="submit" value="Add" class="btn btn-primary" name="add"  />

</form>

その後:

if(isset($_POST["add"])){
$reciver = $data["username"];
$sender = $_SESSION['name'];
$query = $pdo->prepare("INSERT INTO friend-request(reciver, sender, timestamp) VALUES (?,?,?)");
$query->bindValue(1, $reciver);
$query->bindValue(2, $sender);
$query->bindValue(3, time());
$query->execute();
}

ありがとう。

4

2 に答える 2

0

timestampは MySQL の予約語です。バッククォートでエスケープする必要があります。

INSERT ... ,`timestamp`) ...
            ^--       ^--

呼び出しの戻り値をチェックしない->execute()ので、mysql がクエリが失敗したことを伝えようとしているのを見ることはありません。クエリが成功したと想定しないでください。常にエラーをチェックしてください。今のところ、あなたのコードは、耳に指を突っ込んで「lalalala can't hide you」と言うのと同じです。

于 2013-04-21T18:00:34.920 に答える
0

代わりに、次のように書きます。

$reciver = $_POST["username"];

データベースにデータを挿入するときは、SQL インジェクションに注意してください。

フォーム内にユーザー名入力フィールドがあることを確認してください

于 2013-04-21T18:00:40.297 に答える