Вставка вопроса PHP с auto_increment - PullRequest
0 голосов
/ 09 мая 2018

Я довольно новичок в коде PHP. У меня есть табель, в который я хочу вставить, но по какой-то причине оператор вставки не работает. В таблице есть столбец ScanID, соответствующий AUTO_INCREMENT. Я попробовал несколько вещей, таких как просто оставить ScanID вне оператора, но это тоже не сработало (я также попытался заменить NULL на ''). Я смог вставить в другие таблицы, где нет идентификатора AUTO_INCREMENT, поэтому я уверен, что мое соединение работает.

<?php

$xml=simplexml_load_file("someFile.xml");
$con =new PDO("mysql:host=localhost;dbname=testDB",'root','');



$ScanType="someType";
$start_date=$xml ->start_datetime;
$end_date=$xml ->finish_datetime;

$TargetTargetID="1";
$stmt=$con->prepare('insert into
Scan(ScanID, ScanType, start_date, end_date, TargetTargetID) values
(:ScanID, :ScanType, :start_date, :end_date, :TargetTargetID)');
$stmt->bindValue('ScanID',NULL);
$stmt->bindValue('ScanType',$ScanType);
$stmt->bindValue('start_date',$start_date);
$stmt->bindValue('end_date',$end_date);
$stmt->bindValue('TargetTargetID',$TargetTargetID);
$stmt->execute();

$ScanID=$con->lastInsertId();
echo $ScanID;
?> 

РЕДАКТИРОВАТЬ: это сработало для меня

$stmt=$con->prepare('insert into
Scan(ScanType, start_date, end_date, TargetTargetID) values
(:ScanType, :start_date, :end_date, :TargetTargetID)');

$stmt->bindValue('ScanType',$ScanType);
$stmt->bindValue('start_date',$start_date);
$stmt->bindValue('end_date',$end_date);
$stmt->bindValue('TargetTargetID',$TargetTargetID);
$stmt->execute();

1 Ответ

0 голосов
/ 09 мая 2018

Нет необходимости передавать значение автоинкремента столбца в запросе на вставку, просто удалите его из столбцов и значений в

$stmt=$con->prepare('insert into
Scan(ScanType, start_date, end_date, TargetTargetID) values
(:ScanType, :start_date, :end_date, :TargetTargetID)');

Удалить из значений привязки

$stmt->bindValue('ScanID',NULL);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...