2013-07-12 4 views
0

В моей базе данных всего 3 таблицы, а именно village, 10, country.MySql Вставить запрос Возвращает 2 записей

Прежде всего я вставляю деревню из формы, используя следующий запрос:

$intTalukaId = $_POST['selCenter']; 
$strVillageName = $_POST['villagename']; 
$sql = "INSERT INTO Villages VALUES('','$strVillageName','$intTalukaId')"; 

Он успешно вставлено село.

Тогда я хочу, чтобы последний идентификатор деревни вставки, который будет использоваться в следующем запросе, где я select max(village_id) from villages. Он возвращает максимальное значение, но в базе данных он вставляет два значения одновременно.

Например: текущий в деревенской таблице village_id равен 30 после выполнения этого запроса, это показывает 31 и 32 с одинаковой записью.

Может ли кто-нибудь помочь, почему это произойдет?

+1

Не могли бы вы добавить остальную часть своего кода? – andrewsi

+0

как вы вставляете, покажите код –

+1

Вместо того, чтобы выбрать идентификатор деревни MAX, лучше использовать mysqli_insert_id для получения идентификатора последней вставленной записи - http://uk1.php.net/manual/en/mysqli.insertid .php. Если ваш метод из 2 деревень вставляется разными сценариями одновременно, вы не можете получить файл village_id, который только что вставил ваш скрипт. – Kickstart

ответ

0

если вы используете PDO, используйте [PDO::lastInsertId.][1]

если вы используете MySQLi, используйте [mysqli::$insert_id][2].

, если вы используете MySQL, просто прекратить его использование.

Удачи с приложением :)

0

Если village_id является ключевым ауто- прирост, вы можете искать last_insert_id(). Это зависит от сеанса. Так что не беспокойтесь. Theselinks заслуживают внимания.

 Смежные вопросы

  • Нет связанных вопросов^_^