以下のMYSQL INSERTコマンドは、PDOを使用すると失敗します。そしてそれが失敗して報告すると、DROP TABLEコマンドも失敗します。私はコードで間違っているものを手に入れることができません:/PHP:PDOを使用してMYSQLテーブルにINSERTできません
$sql = $db2->prepare(
'INSERT INTO citizens_12_01_12
(login, rank, xp, level, citizenship, totalDamage, economySkill, damageToday, strength)
VALUES
(:login, :rank, :xp, :citizenship, :totalDamage, :economySkill, :damageToday, :strength)'
);
$sql->bindParam(':strength', $api->strength, PDO::PARAM_INT);
$sql->bindParam(':damageToday', $api->damageToday, PDO::PARAM_INT);
$sql->bindParam(':economySkill', $api->economySkill, PDO::PARAM_INT);
$sql->bindParam(':totalDamage', $api->totalDamage, PDO::PARAM_INT);
//$sql->bindValue(':organization', api->organization, PDO::PARAM_BOOL);
$sql->bindParam(':citizenship', $api->citizenship, PDO::PARAM_STR);
$sql->bindParam(':level', $api->level, PDO::PARAM_INT);
$sql->bindParam(':xp', $api->xp, PDO::PARAM_INT);
$sql->bindParam(':login', $api->login, PDO::PARAM_STR);
$sql->bindParam(':rank', $api->rank, PDO::PARAM_STR);
if ($sql->execute()) {
echo "Query succeeded.";
} else {
echo "Query failed.";
$db2->query("DROP TABLE 'citizens_12_01_12'");
}
のerror_logにエラー後:
PHP Warning: PDOStatement::execute() [<a href='pdostatement.execute'>pdostatement.execute</a>]: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in .../getcitizens.php on line 55
ライン55は$ SQLベース>実行()ラインである
エラーを投稿することができますか? 1つもない場合(GUI経由で出力)、エラーログを確認してください。 –
エラー –