problemi di connessione a MySQL

Ciao Gianni, scusa se rompo di nuovo...

Ma non riesco a connettermi al database, o meglio mi connetto ma non riesco a inserire la riga...

In pratica l'output è "A Nino, hai fatto una caxxata!!!"

Dov'è l'Orrore??

----------archivio.mysql---------------

create table archivio (

id INT NOT NULL AUTO_INCREMENT,

PRIMARY KEY(id),

articolo varchar(20) NOT NULL,

titolo varchar(80) NOT NULL,

argomento varchar(50) NOT NULL,

tipo varchar(5) NOT NULL,

info varchar (20) NOT NULL,

data timestamp,

commenti text NULL);

---------------communicate.php--------------

<?php

   //In Locale

   $server = "localhost";

   $admin = "root";

   $pwd = "";

   $database = "prova";

        $table = "archivio";

 $resource = mysql_connect($server,$admin,$pwd);

 $query = mysql_db_query($database,"insert into".$table."(articolo,titolo,argomento,tipo,info) values('5003425','la nostra storia','storia','pdf','Ninux journal 22-06-2005')",$resource);

if(!$query) {

 echo "A Nino, hai fatto una caxxata!!!";

}

else

 echo ("articolo inserito con successo!");

?>

Grazie...

inviato 11 anni fa
ninux
X 0 X

Ti ho riscritto un po' il codice poiché il tuo aveva delle funzioni obsolete (mysql_db_query), ho messo un controllo sulla connessione, sulla selezione del DB e sulla query.

L'errore che avevi era causato dalla query ("insert into".$table...) poiché non lasciavi uno spazio tra la parola "into" ed il nome della tabella.

<?php
//In Locale
$server = "localhost";
$admin = "root";
$pwd = "";
$database = "prova";
$table = "archivio";

// connessione a MySQL
$link = mysql_connect($server, $admin, $pwd);
if (!$link) {
   die('Errore nella connessione: ' . mysql_error());
}

// selezione del database
$db_selected = mysql_select_db($database, $link);
if (!$db_selected) {
   die ('Errore nella selezione del DB: ' . mysql_error());
}

// invio query
$query = "INSERT INTO $table
   (articolo,titolo,argomento,tipo,info)   VALUES
   ('5003425','la nostra storia','storia','pdf','Ninux journal 22-06-2005')";

$result = mysql_query($query);
if (!$result) {
   die('Errore nella query: ' . mysql_error());
}
else {
   echo ("articolo inserito con successo!");
}
?>
risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Quindi era solo per uno spazio che non funzionava??

Ma c'è un modo per dire a php di controllare anche questo?

// Mi  sto ristundiando il codice inserito; Mii... Quanta pazienza ci vuole!!!

P.S.: la funzione mysql_db_query è obsoleto da quale versione di php?? Perchè l'ho vista su un sito... Dici che sto usando tutorial e manuali troppo antiquati??

risposto 11 anni fa
ninux
X 0 X

SI, ad occhio mi sembrava che il problema fosse solo lo spazio. Per farsi segnalare quell'errore basta effettuare un controllo dopo la query con le istruzioni:

if (!$result) {

   die('Errore nella query: ' . mysql_error());

}

Si, all'inizio ci vuole pazienza, ma è sempre la stessa solfa

Non so da quando mysql_db_query sia stata dichiarata obsoleta, ma sicuramente non da poco. Ti consiglio di utilizzare direttamente il manuale ufficiale di PHP (www.php.net) che è anche parzialmente tradotto in italiano. E magari di acquistare un buon libro (i tutorial che stanno in giro normalmente, ma ci sono delle eccezioni, non sono un gran che o sono datati)

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Ok, grazie...

Uso in effetti un manuale scritto da Antonio Perri, "PHP guida alla programmazione" in allegato alla rivista Io Programmo, finito di stampare in dicembre 2003...

Mi sembra ben fatto e chiaro... Troppo vecchio??

Altrimenti hai qualche altro consiglio?? Sempre che sia un manuale adatto a chi si interfaccia per la prima volta nel mondo della programmazione in generale...

risposto 11 anni fa
ninux
X 0 X

Per quanto riguarda i corsi presenti sui siti, continuano a valere i consigli riportati qui:

http://www.phpnews.it/content/view/35/62/

ti consiglio comunque di acquistare un libro, che parli di PHP 5 (espressamente scritto) e che abbia più di 500 pagine (così stai certo che viene spiegato tutto). Poi devi semplicemente leggere il sommario e provare a farti un'idea. Te ne segnalo due in particolare (lo so, sono costosi):

http://www.internetbookshop.it/ser/serdsp.asp?shop=1897&c=ATMWPSSS03LEO

http://www.internetbookshop.it/ser/serdsp.asp?shop=1897&c=ULO6ODXSLMWID

risposto 11 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda