Первая вставка wpdb в новую таблицу mySql не работает - PullRequest
0 голосов
/ 16 июня 2011

Я создал новую таблицу mySql, и мне нужно, чтобы первое поле было индексом и ключом.
Я не уверен, что правильно понял терминологию, но мне просто нужно, чтобы это поле автоматически увеличивалось на 1 при каждой вставке.
Итак, я определил это поле как index и присвоил ему атрибут auto_increment.
Теперь я пытаюсь вставить первую строку следующим образом:

$wpdb->insert('wp_branches', array(user_id=>$user_id, branchName=>$bname));

Индекс / ключполе branchId отсутствует в этом запросе, потому что я рассчитываю на то, что БД автоматически присвоит ему значение 1, поскольку это первая вставка, а затем увеличивает его при каждой дополнительной вставке.
По какой-то причине строка невставляется и дб остается пустым.
Что я делаю не так?

Ответы [ 2 ]

4 голосов

попробуй так:

$sql = $wpdb->prepare(
     "INSERT INTO `wp_branches` (`user_id`,`branchName`) values (%d,%s)", 
      $user_id, $bname);

$wpdb->query($sql);

это защитит тебя и от "уколов" тоже.

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

изменено так:

$wpdb->insert('wp_branches', array('user_id' => $user_id, 'branchName' => $bname));
...