【问题标题】:MYSQL Query Doesn't Work? [closed]MYSQL 查询不起作用? [关闭]
【发布时间】:2013-04-21 17:57:26
【问题描述】:

您好,我正在尝试将数据插入到某些列中,但它不起作用。有人可以帮忙吗?

我有这个

<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();
}

谢谢。

【问题讨论】:

  • MySQL 表名可以有连字符而不转义吗?

标签: php html mysql insert


【解决方案1】:

timestamp 是 MySQL 中的保留字。你必须用反引号来逃避:

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

您不检查-&gt;execute() 调用的返回值,因此您永远不会看到mysql 试图告诉您查询失败。 绝不假定查询已成功。 始终检查错误。现在你的代码相当于把手指插在耳朵里,然后“拉拉拉听不到你的声音”。

【讨论】:

    【解决方案2】:

    我会说写这样的东西:

    $reciver = $_POST["username"];
    

    向数据库中插入数据时要小心 SQL 注入。

    并确保表单中有用户名输入字段

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-20
      相关资源
      最近更新 更多