Python и Mariadb - не все параметры были использованы в SQL-заявлении [duplicate]

В сочетании PHP и MySQL двойные кавычки и одинарные кавычки значительно упрощают время написания запросов.

$query = "INSERT INTO `table` (`id`, `col1`, `col2`) VALUES (NULL, '$val1', '$val2')";

Теперь предположим, что вы используете прямую переменную post в MySQL-запросе, тогда используйте ее следующим образом:

$query = "INSERT INTO `table` (`id`, `name`, `email`) VALUES (' ".$_POST['id']." ', ' ".$_POST['name']." ', ' ".$_POST['email']." ')";

Это лучшая практика для использования переменных PHP в MySQL.

21
задан Enthuziast 28 December 2013 в 20:56
поделиться

1 ответ

Маркер параметра %s не %d.

add_user = """INSERT INTO DB.tbluser 
              (username, department, startyear, currentpos, link) 
              VALUES (%s, %s, %s, %s, %s)"""

Обратите внимание, что маркеры параметра , используемые mysql.connector, могут выглядеть так же, как %s используется в форматировании строки Python, но связь является только случайной. Некоторые адаптеры базы данных, такие как oursql и sqlite3, используют ? в качестве маркера параметра вместо %s.

30
ответ дан unutbu 3 September 2018 в 13:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: