Я запускаю PHP PDO 5.6.29. Вот мой код:SQLite query дает ошибку
$QsoId = $SQLiteData["QsoId"];
$SQLiteData["MyAntenna"] = $ODBCAnt;
$query = sprintf("INSERT INTO Log (QsoId, MyAntenna) VALUES (%s, '%s')",$QsoId, $ODBCAnt);
$qry = $SQLite["connection"]->prepare($query);
/* bind params */
$qry -> bindParam(':QsoId', $QsoId, PDO::PARAM_INT);
$qry -> bindParam(':MyAntenna', $ODBCAnt, PDO::PARAM_STR);
$res = $qry->execute();
Я получаю PDOException с сообщением «SQLSTATE [HY000]: Общая ошибка: 25 заклинить или индекс столбца вне диапазона»
Я пытаюсь обновить MyAntenna поле, но Я использую QSOId как уникальный локатор записи. Я знаю заранее, что эта запись существует и ее можно найти. Я не хочу добавлять новую запись. В записи записано 138 полей. Я превысил лимит?
Когда вы говорите, что не хотите добавлять новую запись, вы имеете в виду, что хотите обновить существующие записи? Если это так, вы хотите сделать инструкцию UPDATE, например 'UPDATE Log SET MyAntenna = $ SQLiteData [" MyAntenna "] WHERE QsoId = $ QsoId' пример кода не является PDO и только для целей цели. Btw – mrjamesmyers
PDO Пример обновления http: // stackoverflow.com/questions/18323065/update-query-with-pdo-and-mysql#answer-18323170 – mrjamesmyers
Невозможно привязать какие-либо значения, потому что вы уже ввели их непосредственно в запрос в операторе sprintf() –