• Home
  • Forum
  • Fare Web
  • PHP

Modificare record

  • Creatore Discussione Creatore Discussione Bizio2009
  • Data di inizio Data di inizio 14 Ago 2009
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
B

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
  • 2 Set 2009
  • #21
satifal ha scritto:
Se la riga è quella evidentemente l'errore è lì.
Devi aggiungere le tonde al die:

PHP:
$modifica=mysql_query($query) or die ("errore");
Clicca per allargare...
Grazie satifal

Grazie a tutti!!!
 
P

programmatore

Utente Attivo
21 Ago 2009
111
0
0
programmatore.altervista.org
  • 2 Set 2009
  • #22
borgo italia ha scritto:
da programmatore:


visto che non è la prima volta vorrei specificare quanto trovato in diversi manuali [...]
Clicca per allargare...
prima volta di fare una query d'inserimento? Che c'entra?
Tutti i valori devono essere indicati fra due apici che possono essere omessi solo nel caso di valori numerici.

attenzione: dice "possono" non "devono"
Clicca per allargare...
A parte che non so che guide siano e a che dbms facciano riferimento, ad ogni modo i valori numerici NON andrebbero indicati fra virgolette se il campo nel db è numerico. Poi, che spesso i dbms effettuino una conversione dei tipi al volo, questo è un altro paio di maniche. Spesso non è sempre: ti assicuro che in molti dbms se metti le virgolette e non servono (come nel tuo caso) ottieni un errore.
Quindi io preferirei la dicitura su quei manuali di questo tipo:
"Tutti i valori non numerici devono essere indicati fra due apici che, a seconda del dbms utilizzato, possono essere mantenuti anche nel caso di valori numerici."
satifal ha ragione ("dimenticanza")
Clicca per allargare...
Vero.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 2 Set 2009
  • #23
prima volta di fare una query d'inserimento?
Clicca per allargare...
no, che viene trattato il problema degli apici

...che, a seconda del dbms utilizzato, possono...
Clicca per allargare...

io sto parlando, e nel post si parla, di MySQL Database Version 5.0.45 può darsi che altri non vogliano gli apici


p.s.
uno dei manuali è "guida php/msql" di f. bonetto trovato (mi spiace) sulla concorrenza
 

Trogo

Utente Attivo
11 Gen 2008
370
0
0
44
Sanremo
  • 2 Set 2009
  • #24
ad ogni modo i valori numerici NON andrebbero indicati fra virgolette se il campo nel db è numerico. Poi, che spesso i dbms effettuino una conversione dei tipi al volo, questo è un altro paio di maniche. Spesso non è sempre: ti assicuro che in molti dbms se metti le virgolette e non servono (come nel tuo caso) ottieni un errore.
Quindi io preferirei la dicitura su quei manuali di questo tipo:
"Tutti i valori non numerici devono essere indicati fra due apici che, a seconda del dbms utilizzato, possono essere mantenuti anche nel caso di valori numerici."
Clicca per allargare...

Appoggio in pieno, troppo spesso ci sono in giro guide, anche su siti eccellenti, che pur non dando informazioni completamente errate non specificano bene come stanno le cose e danno adito a queste convinzioni.
E non mi sono mai piaciuti neanche questi "casting" volanti che permettono la persistenza di queste...
 

Trogo

Utente Attivo
11 Gen 2008
370
0
0
44
Sanremo
  • 2 Set 2009
  • #25
Tanto per ufficializzare un po' la cosa:

Stringhe e Numeri

8.1.1. Strings

A string is a sequence of bytes or characters, enclosed within either single quote (“'”) or double quote (“"”)
Clicca per allargare...

8.1.2. Numbers

Integers are represented as a sequence of digits. Floats use “.” as a decimal separator. Either type of number may be preceded by “-” or “+” to indicate a negative or positive value, respectively
Clicca per allargare...
 
P

programmatore

Utente Attivo
21 Ago 2009
111
0
0
programmatore.altervista.org
  • 2 Set 2009
  • #26
borgo italia ha scritto:
no, che viene trattato il problema degli apici
Clicca per allargare...
Ah, ok, scusa. Non aveva infatti senso la mia interpretazione

p.s.
uno dei manuali è [...]
Clicca per allargare...
I manuali possono essere sbagliati (perché sono scritti da esseri umani che non hanno il dono dell'infallibilità). Non faccio neanche una ricerca in internet: chiunque sia l'autore e qualunque sia il manuale ciò che hai riportato, secondo me, non è universalmente applicabile e a mio avviso è fuorviante. Questa ovviamente è un'opinione personale e non è obbligatorio condividerla.

Di sicuro quello delle virgolette è un particolare che si può fare benissimo a meno di conoscere (sarcasmo). Poi si può sempre dire "quando ogni query dà errore per gli apici si risolve caso per caso" (pratica di programmazione molto usata e che non pratico e non condivido assolutamente).
Finché lavori con mysql con quella versione non sarà un problema, per chi lavora con dbms diversi, ognuno con le proprie regole, è meglio sapere _veramente_ come funzionano le cose
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 2 Set 2009
  • #27
ciao, prova questo stupido script e guarda di che tipo risulta la variabile, anche inserendo esclusivamente un numero, che poi andrò a mettere in una query per l'id di tipo "numerico"

PHP:
<?php
if(isset($_POST['Submit'])){
	$id=$_POST['numero'];
	var_dump($_POST['numero']);
	echo "<br>";
	var_dump($id);
	$id = (int) $id;
	echo "<br>";
	var_dump($id);
}
?>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post" name="form1">
  <p>inserisci un numero 
    <input name="numero" type="text" id="numero" size="1" maxlength="1">
</p>
  <p>
    <input type="submit" name="Submit" value="Invia">
</p>
</form>

il "casting" qualcuno deve farlo, o prima o poi


p.s.


8.1.1. Strings
..............................

8.1.2. Numbers
..............................
Clicca per allargare...

non credi che sia ad un livello uno poco elementare?
 
P

programmatore

Utente Attivo
21 Ago 2009
111
0
0
programmatore.altervista.org
  • 2 Set 2009
  • #28
borgo italia ha scritto:
ciao, prova questo stupido script e guarda
Clicca per allargare...
Ti rispondo io... non so se dicevi a me, purtroppo non specifichi.
Premetto che non ho provato lo 'stupido script' per il semplice motivo che è fuori tema per almeno 3 motivi:
- si stava parlando di query, quindi il php non c'entra
- anche se c'entrasse, non tirerei fuori il php come esempio di linguaggio (fortemente) tipizzato
- inoltre, tutti i valori ritornati dal vettore $_Post sono stringhe (dovresti tra l'altro usare $HTTP_POST_VARS e smettere di usare $_POST)
[/QUOTE]

il "casting" qualcuno deve farlo, o prima o poi
Clicca per allargare...
Magari per andare in tv Preferisco chiamarlo 'cast' (è una battuta eh!) Comunque di sicuro non lo fa il php ma il dbms (se è fra quelli che non te lo segnala come errore).
p.s.
non credi che sia ad un livello uno poco elementare?
Clicca per allargare...
Forse, ma almeno sarebbe corretto e si riferirebbe solo ad uno specifico dbms.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 2 Set 2009
  • #29
ciao
eventualmente apriamo un nuovo 3d se no andiamo OT
purtroppo non specifichi
Clicca per allargare...
dicevo a trogo

si stava parlando di query, quindi il php non c'entra
Clicca per allargare...

$query=mysql_query("SELECT..... WHERE id=$id");
$id è tipo stringa

non tirerei fuori il php come esempio di linguaggio
Clicca per allargare...
stiamo parlando di php non di relatività ristretta o generale, in più php collegato con mysql

hai provato a digitare $HTTP_POST_VARS su http://it2.php.net/manual/en/index.php ?

....solo ad uno specifico dbms...
Clicca per allargare...

dicevo elementare perchè sono cose risapute dal tempo del vecchio (e in certo senso rimpianto) basic

'cast' (è una battuta eh!)
Clicca per allargare...
si, mi fa venire in mente grande fratello e similaria
 
P

programmatore

Utente Attivo
21 Ago 2009
111
0
0
programmatore.altervista.org
  • 2 Set 2009
  • #30
borgo italia ha scritto:
stiamo parlando di php non di relatività ristretta o generale, in più php collegato con mysql
Clicca per allargare...
Per il php puoi anche scrivere
$r=mysql_query("ciao");
tanto non è lui a interpretare la query, quindi il fatto che $id è stringa o meno non cambia niente. Nel tuo caso il dbms penserà che si tratti di un numero (dato che non ci sono virgolette e rispecchia le regole di rappresentazione di un numero) e sì lamenterà se invece si trova a leggere un non numerico (perché mancano le virgolette). E' questo il punto sul quale non ci capiamo: dove finisce la giurisdizione del php e dove inizia quella del mysql. Non fa niente.
hai provato a digitare $HTTP_POST_VARS su http://it2.php.net/manual/en/index.php ?
Clicca per allargare...
No, di solito non cerco cose che conosco già. Comunque seguendo la tua ipotesi e il tuo ragionamento, sarebbe stato più logico cercare $_POST. Nel tuo caso invece è logico aspettarsi la ricerca di $HTTP_POST_VARS.
dicevo elementare perchè sono cose risapute dal tempo del vecchio (e in certo senso rimpianto) basic
Clicca per allargare...
Avevo inteso 'elementare' nel senso 'non complicato'.
Comunque il basic è ancora vivo! Continua solo a reincarnarsi in versioni più aggiornate
si, mi fa venire in mente grande fratello e similaria
Clicca per allargare...
Infatti!
 

Trogo

Utente Attivo
11 Gen 2008
370
0
0
44
Sanremo
  • 2 Set 2009
  • #31
Tanto per concludere (spero) e tirare le somme sennò facciamo aprire una sezione del forum a parte

Il nocciolo della questione è:

1) In una query su MySQL, dovendo utilizzare un valore numerico in questa, il valore numerico deve essere messo tra apici?
- No, non deve essere messo tra apici.

2) In una query su MySQL, dovendo utilizzare un valore numerico in questa, il valore numerico può essere messo tra apici?
- Si, può essere messo tra apici.

E credo che su questi due punti siamo tutti d'accordo.

3) E' buona norma usare gli apici per contornare dei valori numeri in query MySQL?
- No, sarebbe meglio evitarlo
1) Per chiarezza nel codice dello script o programma che sia. Se
nel sorgente vedo un numero contornato da apici sono portato a
pensare che il corrispettivo campo nella tabella MySQL sia di tipo
stringa, cosa che potrebbe essere non vera.
2) In questo momento MySQL accetta questa sintassi, ma non è
detto che duri per sempre. In PHP 4 la funzione array_merge
accettava parametri di tipo diverso da array, in PHP 5 non è più
così ed il typecasting deve essere esplicitato.

Così può andare bene per mettere tutti d'accordo?:hammer:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 2 Set 2009
  • #32
aprire una sezione del forum a parte
Clicca per allargare...
sono d'accordo



p.s.
x programmatore: dai un occhio agli ot
 
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
Devi accedere o registrarti per poter rispondere.

Discussioni simili

S
Problema nel modificare un record
  • Soulfearor
  • 15 Ott 2014
  • PHP
Risposte
3
Visite
1K
PHP 16 Ott 2014
Altutto
A
A
modificare un singolo record
  • alvall
  • 22 Giu 2013
  • PHP
Risposte
3
Visite
1K
PHP 25 Giu 2013
giamma
S
Come modificare i dati visualizzati di un record??
  • simonemar
  • 20 Feb 2011
  • MySQL
Risposte
0
Visite
1K
MySQL 20 Feb 2011
simonemar
S
A
Modificare un record di un database con Frontpage
  • alessandrodj
  • 27 Gen 2007
  • HTML e CSS
Risposte
2
Visite
2K
HTML e CSS 29 Gen 2007
gokufg
G
S
Modificare la tonalità di una foto
  • sgrebs70
  • 13 Feb 2025
  • Photoshop
Risposte
0
Visite
185
Photoshop 13 Feb 2025
sgrebs70
S
M
[cerco webmaster] sito web da modificare
  • moicans
  • 24 Gen 2023
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
0
Visite
1K
Offerte e Richieste di Lavoro e/o Collaborazione 24 Gen 2023
moicans
M
G
Come modificare un pdf in php
  • Gabriele Sorbello
  • 29 Ago 2022
  • PHP
Risposte
1
Visite
2K
PHP 2 Set 2022
marino51
modificare il valore dellascroll bar di webkit
  • napuleone
  • 31 Lug 2022
  • HTML e CSS
Risposte
8
Visite
1K
HTML e CSS 7 Set 2022
akhilex791
A
Modificare codice e creare link
  • Shyson
  • 5 Mag 2021
  • PHP
Risposte
0
Visite
1K
PHP 5 Mag 2021
Shyson
J
Modificare panorami 360 ps 2020
  • JULIANALVARO
  • 14 Gen 2021
  • Photoshop
Risposte
0
Visite
892
Photoshop 14 Gen 2021
JULIANALVARO
J
modificare il contenitore di un div
  • napuleone
  • 9 Gen 2021
  • Javascript
Risposte
2
Visite
1K
Javascript 9 Gen 2021
napuleone
  • Bloccata
modificare il contenitore di un div
  • napuleone
  • 9 Gen 2021
  • Javascript
Risposte
1
Visite
963
Javascript 9 Gen 2021
Max 1
D
modificare questo codice per inserimento in text e non in tabella
  • Domenico2013
  • 22 Ott 2020
  • jQuery
Risposte
1
Visite
3K
jQuery 23 Ott 2020
Domenico2013
D
C
modificare sito in locale con dreamWeaver
  • Cpu03
  • 28 Lug 2020
  • HTML e CSS
Risposte
3
Visite
2K
HTML e CSS 21 Ott 2020
ServWise.com
S
T
Modificare ruolo utenti in fase di registrazione
  • Tino85
  • 15 Lug 2020
  • E-Commerce
Risposte
0
Visite
2K
E-Commerce 15 Lug 2020
Tino85
T
M
modificare un file .XML da database Sql
  • Maxilboss93
  • 9 Giu 2020
  • PHP
Risposte
13
Visite
2K
PHP 10 Giu 2020
Maxilboss93
M
S
Modificare intestazione documento pdf con LO Draw
  • soom2545
  • 5 Giu 2020
  • Linux e Software
Risposte
0
Visite
2K
Linux e Software 5 Giu 2020
soom2545
S
Radio button e Bootstrap: modificare il colore di default!
  • felino
  • 23 Mag 2020
  • HTML e CSS
Risposte
1
Visite
3K
HTML e CSS 25 Mag 2020
felino
Modificare funzione php
  • Shyson
  • 2 Apr 2020
  • PHP
Risposte
15
Visite
2K
PHP 3 Apr 2020
marino51
W
Modificare il Type di un Input box in javascript ovunque si trovi
  • webmasterone
  • 18 Dic 2019
  • Javascript
Risposte
0
Visite
2K
Javascript 18 Dic 2019
webmasterone
W
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?