Ya practicamente lo tengo pero me quedo atascado y no veo el error:
Código PHP:
$updatehiscli = mysql_connect ('localhost','user','pass','db');
mysql_select_db ('db') or die ("joder");
$conteo =count($anrow);
for($i=0; $i<$conteo; $i++){
$anrow = $_POST['anrow'][$i];
$anvalref = $int = (is_numeric($_POST['anvalorref'][$i]) ? (int)$_POST['anvalorref'][$i] : "");
$anvaluni = $int = (is_numeric($_POST['anuni'][$i]) ? (int)$_POST['anuni'][$i] : "");
$anvalor = $int = (is_numeric($_POST['anvalor'][$i]) ? (int)$_POST['anvalor'][$i] : "");
echo "Fila: $anrow; Val: $anvalor; ValRef: $anvalref; Uni: $anvaluni<br />\n";
mysql_query("UPDATE datos_analitica SET "
. "VALOR = $anvalor,"
. "'VALOR REFERENCIA' = $anvalref,"
. "UNIDADES = $anvaluni WHERE PK_DATOS_ANALITICA=$anrow")
or die(mysql_error());
}
}
El error es:
Código PHP:
Fila: 193809; Val: 3; ValRef: 3; Uni: 3
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''VALOR REFERENCIA' = 3,UNIDADES = 3 WHERE PK_DATOS_ANALITICA=19' at line 1
Como podéis ver, hago un echo para ver que cojo bien los datos de la primera fila, pero me parece raro: PK_DATOS_ANALITICA=19, cuando debería ser 193809 y ambos usan el mismo valor $anrow[i], tal vez por usarlo una vez?
Pero solo me falta ese detalle.