[PHP] problema da newbie Clicca QUI per vedere il messaggio nel forum |
| Dodo |
premettendo che oggi ho iniziato a guardare PHP quindi non vi scandalizzate per la "complessità" del codice :asd:
PHP:
<?php
function addFive( $num )
{
$num += 5;
}
$orignum = 10;
addFive(&$orignum);
print( $orignum );
?>
non riesco a capire perchè mi da il seguente problema:
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of addfive(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in c:\programmi\easyphp1-7\www\prova1.php on line 12
15
quale può esser il problema.. il codice è preso da un libro tra l'altro quindi non so spiegarmi cosa può essere |
| ripe |
Non conosco il php, ma dal messaggio di errore mi pare di capire che il problema stia nel fatto che stai passando alla funzione addFive un parametro per riferimento, e non per valore (cosa che a quanto pare non si può fare...). Prova a vedere come si può passare il parametro num per valore (ad esempio in ASP si fa facendo precedere al nome del parametro le parole chiave ByRef o ByVal).
E' solo un consiglio teorico perchè non conosco il php... magari ti è utile lo stesso! ;) |
| ripe |
addFive($orignum);
Forse la modifica giusta è questa... :? |
| holylaw |
la & per il passaggio per referenza delle variabili bisogna metterlo nel prototipo della funzione, non quando chiami la funzioni....
PHP:
<?php
function addFive( &$num )
{
$num += 5;
}
$orignum = 10;
addFive($orignum);
print( $orignum );
?>
|
| korn |
code:
<?php
function addFive( $num )
{
return $num += 5;
}
$orignum = 10;
$orignum = addFive($orignum);
print( $orignum );
?>
|
| DeepBlue |
Originally posted by korn
code:
<?php
function addFive( $num )
{
return $num += 5;
}
$orignum = 10;
$orignum = addFive($orignum);
print( $orignum );
?>
:approved:
Ci vuole anche il return, se no la funzione se lo mangia
Le funzioni sono bastarde :ihihih: |
| holylaw |
| boh io ho provato sia come ha detto Dodo, sia come ho detto io e vanno tutte e 2.... |
| AlphaGamma |
Se dovete chiamarlo per indirizzo, scrivete a korn@dsy.it
Se dovete chiamarlo per valore, chiamatelo Maestro.
:D
(ok è vecchia) |
| JaM |
Alpha sei un nerdaccio :asd:
cmq korn rulez! ;) |
| Dodo |
| grazie a tutti, grazie korn :D |
| Angra |
Una domanda... in quale corso di Com.Dig studieremo PhP?
Grazie |
| korn |
Originally posted by Angra
Una domanda... in quale corso di Com.Dig studieremo PhP?
Grazie
Nessuno.
Potresti provare con TecWeb, ma non è un corso di PHP, ti parla delle tecnologie web in generale e mi pare che la nuova edizione sia orientata maggiormente verso XML e compagnia bella.
Però se hai fatto Java (o conosci il C) non avrai problemi a impararlo da solo, come impostazione è simile. |
| Angra |
| Non ci sono neanche corsi Fse? |
| foolish |
si impara a IUM...
:D
in realtà tutti vogliono che lo si usi, ma nessuno si prende la briga di insegnarlo!!!! |
| Dodo |
| io lo sto imparando per basi di dati :D |
| JaM |
php in fondo non e' difficile... se poi magari hai di fianco qualcuno che ne conosce gia' un po' e' una cavolata impararlo (parlo per esperienza diretta.... grazie Maestro Fabpicca :lode: :asd: )
l'unica cosa veramente complicata di php secondo me e' gestire le sessioni... ma per il resto e' relativamente facile |
| Dodo |
eccomi qui per un nuovo errore...
sto creando un sistema di gestione delle sessioni utente, quindi login, logout, registrazione... ma in ogni pagina mi appare questo errore...
Warning: mysql_num_rows(): supplied argument is not a valid MySQL
che vole dire? :pensa:
:help: |
| JaM |
il mysql_num_rows vuole come argomento una risorsa risultato, quelle che ottieni dalle query:
code:
$result = mysql_query("SELECT * FROM table1", $connection);
$num_rows = mysql_num_rows($result);
puo' darsi (non mi ricordo bene come lavora con mysql) che se la query fallisce arriva come argomento al num_rows un valore null che non gli piace.
Prova ad eseguirlo solo se la query effettivamente restituisce qualcosa (se $result non e' vuoto) |
| holylaw |
se la query non restituisce niente (cioe' una tabella vuota) ed e' scritta correttamente, mysql_num_rows restituisce 0
evidentemente c'e' un errore nella query.... |
|
|
|