를 사용하여 데이터베이스에 여러 행을 삽입 I 데이터베이스에 1 행을 삽입합니다 다음 코드가 있습니다는 MySQL의
public function fixed($fieldDay, $fieldNight) {
$pdo = new SQL();
$dbh = $pdo->connect(Database::$serverIP, Database::$serverPort, Database::$dbName, Database::$user, Database::$pass);
$this->sql = "INSERT INTO tblfixedfare (SELECT NULL, MAX(FixedFareID)+1, '1', '$fieldDay' FROM tblfixedfare)";
try {
// Query
$stmt = $dbh->prepare($this->sql);
$stmt->execute();
$count = $stmt->rowCount();
echo $count.' row(s) inserted by SQL: '.$stmt->queryString;
$stmt->closeCursor();
}
catch (PDOException $pe) {
echo 'Error: ' .$pe->getMessage(). 'SQL: '.$stmt->queryString;
die();
}
// Close connection
$dbh = null;
}
}
이 실행되고있는 동시에, 내가 같은 테이블에 다른 행을 삽입 할 :
$this->sql = "INSERT INTO tblfixedfare (SELECT NULL, MAX(FixedFareID)+1, '2', '$fieldNight' FROM tblfixedfare)";
어떻게 이렇게 가겠어요? 모두에도
EDIT가 MAX(FixedFareID)+1
요구가 동일한 값이되도록 값을 삽입한다.
왜 당신은 그냥 AUTO_INCREMENT를 사용하지 않는? – jcho360
['UNION'] (http://dev.mysql.com/doc/refman/5.5/en/union.html) 두 개의 SELECT 문. – DaveRandom
준비된 문을 사용하고 있지만 매개 변수를 바인딩하지 않고 원시 변수를 쿼리에 전달하는 중입니까? 무의미한가요? –