resterampe
Mitglied
Meine Abfrage:
Mein Ziel:
Daten aus einer Tabelle in die gleiche Tabelle zu kopieren. In einem zweiten Schritt erfolgt die Datenmanipulation
meine Fehlermeldung:
meine Frage:
Kann mir einer diese Fehlermeldung bitte so erklären, dass auch ich verstehe was da nicht richtig läuft?
meine Vermutung:
ich vermute, dass der INSERT SELECT - ein Problem mit dem LIMIT hat und deswegen meint es gibt mehr als ein mögliches Ergebnis der SELECT-Abfrage
meine Bitte:
Könnt Ihr mir bitte auch einen Hinweiß geben, wie ich das möglichst effektiv umsetzten kann so dass das klappt.
der komplette Code:
PHP:
mysql_query("INSERT INTO `parameterwerte` (".$tempa.")
SELECT (".$tempb.") FROM `produkte_maschinen_parameterwerte` AS `pmp`
LEFT JOIN `parameterwerte` AS `p` ON `pmp`.`FID_Parameterwerte` = `p`.`ID_Werte`
WHERE `pmp`.`FID_Produkte` = '".$id_produkte."'
AND `pmp`.`FID_Maschinen` = '".$_POST['ID_Maschinen']."'
ORDER BY `p`.`TimeStamp` DESC
LIMIT 0,1");
Daten aus einer Tabelle in die gleiche Tabelle zu kopieren. In einem zweiten Schritt erfolgt die Datenmanipulation
meine Fehlermeldung:
Code:
1241 - Operand should contain 1 column(s)
Kann mir einer diese Fehlermeldung bitte so erklären, dass auch ich verstehe was da nicht richtig läuft?
meine Vermutung:
ich vermute, dass der INSERT SELECT - ein Problem mit dem LIMIT hat und deswegen meint es gibt mehr als ein mögliches Ergebnis der SELECT-Abfrage
meine Bitte:
Könnt Ihr mir bitte auch einen Hinweiß geben, wie ich das möglichst effektiv umsetzten kann so dass das klappt.
der komplette Code:
PHP:
if (isset($_POST['stbearbeiten'])) {
function isNum2($zahl) {
return (preg_match("/^[0-9]+$/", $zahl));
}
$result = mysql_query ("SELECT `FID_Produkte` FROM `produkte_linien` WHERE `FID_Linien` = '".$_POST['ID_Linien']."' ;");
while ( $row = mysql_fetch_object($result) ) {
foreach ($row as $id_produkte) {
$tempa = "`FID_USER`, ";
$tempb = "`p`.`FID_USER`, ";
for ($j=1; $j<=49; $j++) {
$k = sprintf( "%03u", $j);
$w = "W_".$k;
$wmin = $w."min";
$wmax = $w."max";
$tempa .= "`".$w."`, ";
$tempb .= "`p`.`".$w."`, ";
$tempa .= "`".$wmin."`, ";
$tempb .= "`p`.`".$wmin."`, ";
$tempa .= "`".$wmax."`, ";
$tempb .= "`p`.`".$wmax."`, ";
}
$tempa .= "`Bemerkung`";
$tempb .= "`p`.`Bemerkung`";
mysql_query("INSERT INTO `parameterwerte` (".$tempa.") SELECT (".$tempb.") FROM `produkte_maschinen_parameterwerte` AS `pmp` LEFT JOIN `parameterwerte` AS `p` ON `pmp`.`FID_Parameterwerte` = `p`.`ID_Werte` WHERE `pmp`.`FID_Produkte` = '".$id_produkte."' AND `pmp`.`FID_Maschinen` = '".$_POST['ID_Maschinen']."' ORDER BY `p`.`TimeStamp` DESC LIMIT 0,1");
echo mysql_errno()." - ".mysql_error();
$neueID = last_insert_id();
$tempa = "`TimeStamp`, `FID_USER`, ";
$tempb = "NOW(), '".give_userid()."', ";
for ($j=1; $j<=49; $j++) {
$k = sprintf( "%03u", $j);
$w = "W_".$k;
$wmin = $w."min";
$wmax = $w."max";
if (isset($_POST[$w])) {
$tempa .= "`".$w."`, ";
$tempb .= "'".$_POST[$w]."', ";
}
if (isset($_POST[$wmin])) {
$tempa .= "`".$wmin."`, ";
$tempb .= "'".$_POST[$wmin]."', ";
}
if (isset($_POST[$wmax])) {
$tempa .= "`".$wmax."`, ";
$tempb .= "'".$_POST[$wmax]."', ";
}
}
if (isset($_POST['Bemerkung'])) {
$tempa .= "`Bemerkung`, ";
$tempb .= "'".$_POST['Bemerkung']."', ";
}
$tempa = rtrim($tempa, ', ');
$tempb = rtrim($tempb, ', ');
$sql = "UPDATE `parameterwerte` SET ( ".$tempa." ) VALUES ( ".$tempb." ) WHERE `ID_Werte` = '".$neueID."' ";
if (mysql_query( $sql )) {
if ( mysql_query("INSERT INTO `produkte_maschinen_parameterwerte` ( `FID_Produkte`, `FID_Maschinen`, `FID_Parameterwerte` ) VALUES ( '".$_POST['ID_Produkte']."', '".$_POST['ID_Maschinen']."', '".$neueID."' )")) {
echo "Die Parameter wurden geändert.";
}
else {
echo mysql_error();
}
}
mysql_query("INSERT INTO `produkte_maschinen_parameterwerte` ( `FID_Produkte`, `FID_Maschinen`, `FID_Parameterwerte` ) VALUES ( '".$row2->FID_Produkte."', '".$row2->FID_Maschinen."', '".$neueID."' )");
}
}
}
Zuletzt bearbeitet: