У меня есть этот код, чтобы выбрать данные из одной таблицы и переместить их в другую в массиве.php SQL-запрос, вставляющий записи в неправильный столбец
<?php
// CHANGE THE CONNECTION INFORMATION TO YOUR DETAILS (OFF YOU CARD)
//$connection = mysql_connect("localhost","root");
$conn = new COM("ADODB.Connection") or die("Cannot start ADO");
$conn->Open("Provider=SQLOLEDB; ..");
$conn2 = new COM("ADODB.Connection") or die("Cannot start ADO");
$conn2->Open("Provider=SQLOLEDB; Data Source=...;
Initial Catalog=...; User ID=...; Password=...");
$rs = $conn->Execute("SELECT ColourID, Width, Height, Price FROM VS_Matrix"); // Recordset
$num_rows = $rs->Fields->Count();
for ($i=0; $i < $num_rows; $i++) {
$fld[$i] = $rs->Fields($i);
$fld2[$i] = $rs->Fields($i);
$fld3[$i] = $rs->Fields($i);
$fld4[$i] = $rs->Fields($i);
$x= 469;
}
$rowcount = 0;
while (!$rs->EOF) {
for ($i=0; $i < $num_rows; $i++) {
echo $fld[$i]->value . "\t";
$rs2 = $conn2->Execute("INSERT INTO TST (ID, ColourID, Width, Height, Price) VALUES ('".$x."','".$fld[$i]."','".$fld2[$i]."','".$fld3[$i]."','".$fld4[$i]."')");
}
echo "\n";
$rowcount++;
$x=$x+1; // increments rowcount
$rs->MoveNext();
}
$rs->Close();
$conn->Close();
$rs = null;
$conn = null;
По какой-то причине его размещение записей, по-видимому, случайным образом, вероятно, вызвало у меня глупую ошибку. Кто-нибудь может это заметить?
Это вопрос, который вы только когда-либо назначая '$ х = 469;', и использовать это в качестве идентификатора в TST? В противном случае вам придется объяснить немного более подробно, что означает «размещение записей в случайном порядке». – andrewsi
Кажется, что у вас есть одно и то же значение во всех ваших $ fld [$ i] переменных – user15
x следует избегать единственного ограничения id – vast365