没有错误,状态为200,但是没有数据进入我的表

svujldwt  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(302)

这是我的 set.php ```

wqlqzqxt

wqlqzqxt1#

列序列已关闭,查询以静默方式失败。为什么?因为您要为ip地址插入的内容是varchar,并且位于用于 name 列。
使用时顺序很重要 mysqli_ 与使用命名占位符的pdo不同,api不关心顺序。
因此,请更改您的:

$result = $mysqli->prepare("INSERT INTO `defuse_scores` (ip, name, seconds, difficulty, actions) VALUES (?,?,?,?,?)");

$result->bind_param('ssisi', $_SERVER['REMOTE_ADDR'], $_POST['name'], $_POST['seconds'], $_POST['difficulty'], $_POST['actions']);

收件人:

$result = $mysqli->prepare("INSERT INTO `defuse_scores` (name, seconds, difficulty, actions, ip) VALUES (?,?,?,?,?)");

$result->bind_param('sisis', $_POST['name'], $_POST['seconds'], $_POST['difficulty'], $_POST['actions'], $_SERVER['REMOTE_ADDR']);

或者在ai'd列中使用一个空值,这有时是需要的,我以前见过这种情况:

$result = $mysqli->prepare("INSERT INTO `defuse_scores` (id, name, seconds, difficulty, actions, ip) VALUES ('', ?,?,?,?,?)");

$result->bind_param('sisis', $_POST['name'], $_POST['seconds'], $_POST['difficulty'], $_POST['actions'], $_SERVER['REMOTE_ADDR']);

另一个会使查询以静默方式失败的原因是列长度不够长。

相关问题