Как сделать подготовленный оператор с переменными php и элементами массива php? - PullRequest
1 голос
/ 12 июня 2011

Я знаю, что это просто раздражающая синтаксическая вещь, но я просто не могу заставить код ниже работать.Пожалуйста, кто-нибудь может помочь?

if($stmt = $link -> prepare("INSERT INTO google_pre_transaction VALUES    (?,?,?,?,?,?,?,?,?,?,?,?,?")) {
  /* Bind parameters
     s - string, b - boolean, i - int, etc */
  $stmt -> bind_param("iiisss", 
  $m_id,
  $page_one['input-one'], 
  $page_one['input-two'],
  $page_one['title'],
  $page_one['first'], 
  $page_one['last']
  );

Ответы [ 2 ]

2 голосов
/ 12 июня 2011

У вас есть 13 ? и 7 переменных. Числа должны совпадать.

Кроме того, закрывающая скобка находится вне кавычек, что является неправильным синтаксисом.

Это должно работать:

prepare("INSERT INTO google_pre_transaction VALUES (?,?,?,?,?,?,?)")

1 голос
/ 12 июня 2011

С одной стороны, у вас есть намного больше ?, чем у вас есть параметры в вашем bind_param.Их должно быть одинаковое количество.

Полагаю, ошибка говорит именно об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...