Passaggio di un ID ad una query di inserimento

adfadf

Utente Attivo
18 Apr 2009
83
0
0
Salve ho fatto 2 query, nella prima prelevo l'id, nella successiva vorrei inserire l'id stesso in una colonna, qui mi dà l'errore,

Incorrect integer value: '' for column 'codcategoria' at row 1

Sapreste dimri il perchè? Grazie.

//estraggo l'id dalla tabella ed è tutto ok
$estrazione_codice_sottocategoria="SELECT id FROM sottocategorie WHERE sottocategoria='$_POST[sottocategoria]'";
$codice_sottocat_estratto = mysql_query($estrazione_codice_sottocategoria)or
die(mysql_error());
while ($row= mysql_fetch_array($codice_sottocat_estratto)) {
echo $row['id'];
}
//qui arriva l'errore.
$inserimento_caratteristica="INSERT INTO caratteristiche (caratteristica, codcategoria) VALUES('$_POST[caratteristica]','$row[id]')";
 

jan267

Utente Attivo
6 Mar 2003
1.950
2
38
35
Milano
twitter.com
La variabile $inserimento_caratteristica è fuori dal ciclo while e di conseguenza la variabile $row per lui non esiste.
Infati nel messaggio di errore il valore di $row['id'] è empty ('').
 

adfadf

Utente Attivo
18 Apr 2009
83
0
0
Scusate se rompo ancora in merito, ma ho provato ad inserire 2 codici id prelevati da 2 tabelle differenti in una altra tabella, la query insert into l'ho messa nel While come detto in precedenza, ma su uno dei 2 id che prelevo mi da ancora lo stesso errore, praticamente dice che è vuoto, il primo in particolare, il secondo invece c'è(nel senso riseco a prelevarlo)!!Come potrei fare?


PHP:
$estrazione_codice_sottocategoria="SELECT id FROM sottocategorie 
WHERE sottocategoria='$_POST[sottocategoria]'";
$codice_sottocat_estratto = mysql_query($estrazione_codice_sottocategoria)or die(mysql_error());
$estrazione_codice_categoria="SELECT id FROM categorie WHERE categoria='$_POST[categoria]'"; 
$codice_cat_estratto = mysql_query($estrazione_codice_categoria);
while ($row= mysql_fetch_array($codice_sottocat_estratto) & $row2= mysql_fetch_array($codice_cat_estratto)) 
{
$row['id'];
$row2['id'];
$inserimento_caratteristica="INSERT INTO caratteristiche 
(caratteristica, codcategoria, codsottocategoria) 
VALUES('$_POST[caratteristica]','$row2[id]','$row[id]')";
$grande_categoria_inserita = mysql_query($inserimento_caratteristica) or die(mysql_error());
}
 

jan267

Utente Attivo
6 Mar 2003
1.950
2
38
35
Milano
twitter.com
Così è impossibile ottenere il risultato che vuoi.
Il modo più semplice che mi viene in mente, anche se un pò più laborioso, è quello di separare di due cicli while e inserire gli id in array separati e poi con un altro ciclo effettuare l'inserimento nel database.
PHP:
$estrazione_codice_sottocategoria="SELECT id FROM sottocategorie 
WHERE sottocategoria='$_POST[sottocategoria]'";
$codice_sottocat_estratto = mysql_query($estrazione_codice_sottocategoria)or die(mysql_error());
while ($row= mysql_fetch_array($codice_sottocat_estratto)) {
  $array[] = $row['id'];
}
$estrazione_codice_categoria="SELECT id FROM categorie WHERE categoria='$_POST[categoria]'"; 
$codice_cat_estratto = mysql_query($estrazione_codice_categoria);
while ($row= mysql_fetch_array($codice_cat_estratto)) {
  $array2[] = $row['id'];
}
for ($i = 0; $i < count($array); $i++) {
  $inserimento_caratteristica="INSERT INTO caratteristiche 
(caratteristica, codcategoria, codsottocategoria) 
VALUES('$_POST[caratteristica]','" . $array[$i] . "','" . $array2[id] . "')";
$grande_categoria_inserita = mysql_query($inserimento_caratteristica) or die(mysql_error());

}
Ovviamente la dimensione degli array deve essere identica... altrimenti non funziona...
L'altra opzione, che è più complessa è utilizzare le JOIN ma è necessario conoscere bene la struttura del database.
 

adfadf

Utente Attivo
18 Apr 2009
83
0
0
Vorrei optare per la seconda opzione: ho le 2 tabelle:
categorie: id, categorie,codgrandecategoria;
sottocategorie: id, sottocategorie, codcategoria;
lego le 2 tabelle attraverso la chiave di categorie(id) e la colonna codcategoria di sottocategorie.

PHP:
$estraz_codici="SELECT id,codcategoria FROM categorie INNER JOIN 
sottocategorie categorie['id']=sottocategorie['codcategorie'] 
WHERE sottocategoria='$_POST[sottocategoria]'";
$codice_estratto=mysql_query($estraz_codici);
while ($row= mysql_fetch_array($codice_estratto))
..

mi da errore, credo che ci sia un errore di sintassi, inoltre essendoci 2 coloone id a me interressa selezionare solo id della tabella sottocategorie, come dovrei fare?
 

adfadf

Utente Attivo
18 Apr 2009
83
0
0
Ok grazie, ma non capisco perchè ora mi dà l'errore su
while ($row=mysql_fetch_array($codice_estratto));
mi dice:
mysql_fetch_array(): supplied argument is not a valid MySQL result

PHP:
$estraz_codici="SELECT id,codcategoria FROM categorie INNER JOIN 
sottocategorie ON categorie.id=sottocategorie.codcategorie 
WHERE sottocategoria='$_POST[sottocategoria]'";
$codice_estratto=mysql_query($estraz_codici);
while ($row=mysql_fetch_array($codice_estratto))
{
$row['id'];
$row['codsottocategoria'];
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
C'è sicuramente un errore nella query, per trovarlo fai così:
PHP:
$codice_estratto=mysql_query($estraz_codici) or die (mysq_error());

pova questa sintassi:

PHP:
$estraz_codici="SELECT id,codcategoria FROM categorie INNER JOIN 
sottocategorie ON categorie.id=sottocategorie.codcategorie 
WHERE sottocategoria=".$_POST['sottocategoria'];
 

adfadf

Utente Attivo
18 Apr 2009
83
0
0
ecco lerrore: Column 'id' in field list is ambiguous
Questo deriva dal fatto che ci sono due colonne di nome id (dopo il Join) e lui non sa qual darmi, io vorrei prendere l'id delle sottocategorie, quindi dovrei scrivere:????
PHP:
"SELECT sottocategorie.id,codcategoria FROM 
categorie INNER JOIN sottocategorie ON 
categorie.id=sottocategorie.codcategorie 
WHERE sottocategoria=$_POST[sottocategoria]";
eliox ho utilizzato anche la tua sitassi, ma produce lo stesso risulato
 
Ultima modifica:

jan267

Utente Attivo
6 Mar 2003
1.950
2
38
35
Milano
twitter.com
La sua sintassi è la stessa che ti ho segnalato io.
Ma a parte questo, quel messaggio significa che in entrambi i database hai la colonna "id" quindi deve selezionare quale vuoi.
Es: SELECT categorie.id id, campo2, campo3, ecc
 
Discussioni simili
Autore Titolo Forum Risposte Data
Albertoesse Problemi passaggio valori da un Form ad Una classe con query mysql PHP 12
M Passaggio da una pagina php ad un altra PHP 0
A Problema nel passaggio di una animazione da flash a animate Flash 9
M Passaggio valore da una pagina PHP all'altra tramite ajax Ajax 1
gandalf1959 passaggio variabili da form dopo verifiche: tutte meno una!?!? Javascript 4
G passaggio di una variabile da javascript a un valore di input Javascript 5
A [RISOLTO] Passaggio di valori con GET tra una immagine e una descrizione PHP 7
M [RISOLTO]Problema controllo e passaggio di valori da una pagina all''altra PHP 4
P Problema passaggio di valori da una pagina php ad un'altra PHP 2
T Passaggio di variabili da una pagina all'altra PHP 5
WorldWideWeb Passaggio dell'oggetto Me ad una funzione Visual Basic 6
P Passaggio di un indirizzo tramite una variabile? Javascript 0
G ingrandire una immagine al passaggio del mouse Webdesign e Grafica 6
C passaggio informazioni da una pagina ad un'altra PHP 5
V passaggio di un array nascosto da una pagina ad un'altra PHP 2
M Passaggio variabili array php su un tasto jq PHP 3
F Consigli passaggio a nuova piattaforma CMS (Content Management System) 0
F Consigli passaggio a nuova piattaforma SEO e Posizionamento 3
MarcoGrazia Metodi static e passaggio di variabili PHP 1
M Passaggio Valori checbox in textarea Javascript 1
Barierta Testo a comparsa con passaggio del mouse Javascript 17
N Problema passaggio variabili tra pagine PHP 4
P Passaggio id php a javascript PHP 6
M errore dopo passaggio Php 7.2 PHP 6
P Passaggio di parametro al metodo: public void run() Java 3
T script jquery non funziona più dopo il passaggio a MVC jQuery 5
R passaggio variabili tra modulo genitore a figlio jQuery 3
J Passaggio variabile tra 2 file php PHP 15
zorro [PHP] passaggio di variabili PHP 7
Z Passaggio php 5.6 a php 7 PHP 1
B [Visual Basic] Passaggio variabili da un progetto all'altro (Visual Studio 2017 C#/SQL) Visual Basic 0
R [PHP] Testo su immagine al passaggio del mouse PHP 2
andreas88 Problema installazione passaggio 2 Magento Magento 0
gandalf1959 Passaggio da mysql a mysqli PHP 13
C Redirect passaggio a https Web Server 1
K [PHP] Passaggio Variabili Senza Refresh Di Pagina PHP 1
S [HTML] Div visibile o nascosto al passaggio del mouse HTML e CSS 3
C [RISOLTO][PHP] Passaggio variabili senza refresh di pagina PHP 7
elpirata [PHP] Passaggio da webapp online a webapp offline PHP 2
V [Javascript] Passaggio valore da popup a pagina madre Javascript 5
V Passaggio codice html a javascript Javascript 8
G [HTML] Variazione di posizione di un tag <a> a passaggio del mouse di un altro tag <a> HTML e CSS 12
ESABOT Problema passaggio dati tra activity tramite intent Sviluppo app per Android 1
F [ASP] passaggio parametri form metodo post Classic ASP 6
3_g passaggio sito da ASP a PHP PHP 9
elpirata [PHP] Passaggio di dati tra variabili PHP 1
A Problema con getCurrentPosition e passaggio variabili da javascript a PHP Javascript 3
T Passaggio dati con ajax ad altra pagina Ajax 6
WebDr [ASP] Passaggio di variabili in un link tra apici ed & Classic ASP 5
T [PHP] Passaggio dati sensore con ajax e exec, lento! PHP 0

Discussioni simili