这是我的 set.php ```
set.php
wqlqzqxt1#
列序列已关闭,查询以静默方式失败。为什么?因为您要为ip地址插入的内容是varchar,并且位于用于 name 列。使用时顺序很重要 mysqli_ 与使用命名占位符的pdo不同,api不关心顺序。因此,请更改您的:
name
mysqli_
$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']);
另一个会使查询以静默方式失败的原因是列长度不够长。
1条答案
按热度按时间wqlqzqxt1#
列序列已关闭,查询以静默方式失败。为什么?因为您要为ip地址插入的内容是varchar,并且位于用于
name
列。使用时顺序很重要
mysqli_
与使用命名占位符的pdo不同,api不关心顺序。因此,请更改您的:
收件人:
或者在ai'd列中使用一个空值,这有时是需要的,我以前见过这种情况:
另一个会使查询以静默方式失败的原因是列长度不够长。