$ conn是我之前用来获取信息的数据库连接,因此它可以工作。准备是假的,我不知道为什么。
$updateWeight = "insert into $username (weight, date) values (?,?)";
if($stmt = $conn->prepare($updateWeight))
{
$stmt->bind_param("is",$weight,$date);
$stmt->execute();
die("Added ". $weight . " " . $date);
}
else
{
die( "$updateWeight with $weight and $date error 1");
}
这将返回“插入测试(重量,日期)值(?,?)150和2015/06/16错误1”。
据我所知,一切都很好
mysql> select * from testing;
+----+--------+------------+
| id | weight | date |
+----+--------+------------+
| 1 | 200 | 2015/06/10 |
+----+--------+------------+
1 row in set (0.01 sec)
我确定这个错误是轻微而愚蠢的,但我似乎无法找到它。
我将命令复制并粘贴到mysql中,并在替换变量
后起作用mysql> insert into testing (weight, date) values (150,"2015/06/15");
Query OK, 1 row affected (0.02 sec)
答案 0 :(得分:0)
您的查询使用reserved word - DATE
。你可以做的是绕过这个是使用反引号(`)。
$updateWeight = "INSERT INTO `$username` (`weight`, `date`) VALUES (?,?)";
如果它没有解决您的问题,要确定错误原因,请执行error reporting。
将其放入else()
条件:
printf("Errormessage: %s\n", $conn->error);
答案 1 :(得分:0)
我通过将$ conn-> close();然后重新创建$ conn,因为我之前使用过它