- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- difficoltà collegamento php mysql
-
difficoltà collegamento php mysql
salve
ho creato lo sript php per collegare al DB per l'inserimento tramite form html
sto avedo difficolta' perché lo scritp non mi funziona.<?php
$con=mysql_connect("localhost","user","password",my_seprova);
if (mysqli_connect_errno()){
echo "failed to connect to MYSQL: " .mysqli_connect_error();
}
$titolo=mysqli_real_escape_string($con,$_POST['titolo']);
$corpo_testo=mysqli_real_escape_string($con,$_POST['corpo_testo']);
$sql="INSERT INTO novità (titolo,corpo_testo)
VALUES ('$titolo','corpo_testo',)";$con=mysql_connect("localhost","user","password",my_seprova);
if (mysqli_connect_errno()){
echo "failed to connect to MYSQL: " .mysqli_connect_error();
}
$titolo=mysqli_real_escape_string($con,$_POST['titolo']);
$corpo_testo=mysqli_real_escape_string($con,$_POST['corpo_testo']);
$sql="INSERT INTO novità (titolo,corpo_testo)
VALUES ('$titolo','corpo_testo',)";
if (!mysqli_query ($conn,$sql)){
die ('Error: ' .mysql_error ($conn));
}
echo "1 record added";
mysqli_close ($con);
?>
if (!mysqli_query ($conn,$sql)){
die ('Error: ' .mysql_error ($conn));
}
echo "1 record added";
mysqli_close ($con);
?>
-
Ciao,
che errore ricevi?
-
c'e' scritto errore
oppure mi esce errore line 3
-
Ad occhio mi sembra che usi un comando errato per connetterti.
Infatti per la connessione usi mysql_connect, ma per usarlo usi le versioni mysqli_P.S.: ovviamente sto dando per scontato che tu abbia messo la giusta configurazione per connettersi al database (nome utente, nome database, host, ecc.).
-
Cosa devo correggere?
-
Se lo script che hai incollato è identico a quello che stai cercando di far girare di errori ce ne sono diversi ed il principale è quello indicato da Shad.
Poi:- la connessione è ripetuta 2 volte (line 2 e linea 9)
- nella connessione il 4° argomento non si capisce cosa sia. Se è il nome del database non può essere usato con mysql_connect ma solo con mysqli_connect e comunque andrebbe tra virgolette;
- nella linea 22 c'è un tag PHP di chiusura seguito da altro codice PHP senza però esserci quello di apertura.
Superficialità e approssimazione (anche postando richieste di aiuto) vanno poco d'accordo con l'informatica.
-
non ho capito cosa devo correggere non arriva a linea 22 lo script
da questo errore adesso:
errorscript:
<?php
$con=mysqli_connect("localhost","user","password","my_seprova");
if (mysqli_connect_errno()){
echo "failed to connect to MYSQL: " .mysqli_connect_error();
}
$titolo= mysqli_real_escape_string($con,$_POST['titolo']);
$corpo_testo=mysqli_real_escape_string($con,$_POST['corpo_testo']);
$sql="INSERT INTO novità (titolo,corpo_testo)VALUES ('$titolo','corpo_testo',)";
if (!mysqli_query ($conn,$sql)){
die ('Error: ' .mysql_error ($conn));
}
echo "1 record added";
mysqli_close ($con);
?>
-
Basta controllare meglio quello che si scrive.
riga 8:
VALUES ('$titolo','corpo_testo',)
manca il segno del dollaro nella seconda variabile;riga 9 e 10:
se la connessione la assegni a $con, dopo non puoi richiamarla con $conn perchè sarà una variabile inesistente;riga 10:
nuovamente, se utilizzi mysqli_ non puoi poi utilizzare mysql_Superficialità e approssimazione.
Questi sono tutti errori che si risolverebbero con più attenzione nella lettura del codice.AGGIUNTA:
nella riga 8 c'è una virgola finale di troppo.
-
fatte le correzioni mi esce sempre errore.
<?php
$con=mysqli_connect("localhost","seprova","password","my_seprova");
if (mysqli_connect_errno()) {
echo "failed to connect to MYSQL: " .mysqli_connect_error();
}
$titolo= mysqli_real_escape_string($con,$_POST['titolo']);
$corpo_testo=mysqli_real_escape_string($con,$_POST['corpo_testo']);
$sqli="INSERT INTO novità ($titolo,$corpo_testo)
VALUES ('$titolo','$corpo_testo')";
if (!mysqli_query ($con,$sqli)){
die ('Error: ' .mysql_error ($con));
}
echo "1 record added";
mysqli_close ($con);
?>
-
Posso sapere quale errore?
Sicuro che la tabella si chiami "novità" e non "novita"? Non ricordo se MySql permette nomi di tabelle con accentate. Se il nome fosse accentato ti consiglierei di cambiarlo lo stesso. Giusto per essere sicuri di non avere problemi di codifica.
-
esce solo la scritta errore senza specificare
ades provo a cabiare novità con novità vedimo cosa succede
-
problema risolto avevi ragione.
il problema era il nome della tabella novità (cambiato con novita) adesso funziona
-
ho creato lo script per far visualizzare le news solo che non mi funziona lo script.non riesco a capire da cosa puo' dipendere
<body>
<?php
$username="seprova";
$password="";
$database="my_seprova";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database)or die ("Impossibile selezionare il DB");
$query="SELECT*FROM novita");
$risultati=mysql_query($query);
$num=mysql_numrows($risultati);
mysqul_close ();
echo"<b><center>Benvenuti nelle NEWS </center></b><br><br>;
$i=0; while ($i<$num){
$nome_campo_tabella=mysql_result($risultati,$i,"titolo");
$nome_campo_tabella=mysql_result($risultati,$i,"corpo_testo");
$echo <b>$titolo $corpo_testo </b></br><br>";
$i++;
}
?>
</body>
</html>
-
mysqul_close --> mysql_close
Ed in generale il solito problema di mysql_ mentre tu nel precedente script usavi mysqli_
Ricordati di postare sempre l'errore che ricevi.
-
ho corretto l'errore di battitura ma e sempre uguale. nella pagine che devono uscire le news mi esce questo
Benvenuti nelle NEWS
; $i=0; while ($i<$num){ $nome_campo_tabella=mysql_result($risultati,$i,"titolo"); $nome_campo_tabella=mysql_result($risultati,$i,"corpo_testo"); $echo **$titolo $corpo_testo **
"; $i++; } ?>
-
Aggiungi le virgolette alla fine.[
echo](http://www.giorgiotave.it/wikigt/os/Echo)"<b><center>Benvenuti nelle NEWS </center></b><br><br>;
echo"<b><center>Benvenuti nelle NEWS </center></b><br><br>";
-
fatto ma sempre lo stesso errore esce
Benvenuti nelle NEWS
"; $i=0; while ($i<$num){ $nome_campo_tabella=mysql_result($risultati,$i,"titolo"); $nome_campo_tabella=mysql_result($risultati,$i,"corpo_testo"); $echo **$titolo $corpo_testo **
; $i++; } ?>
-
dove sta l'errore che non va?
il file è salvato in php no in html(prima avevo salvato il file i html e mi dava l'errore sopra citato)
adesso mi da errore linea 24
cioe'
$echo"<b>$titolo $corpo_testo</b><br><br>";aggioramento ho trovato l'errore
era il simbolo di vriabile echo
adesso non mi da piu' l'errore pero' non mi visualizza le news.
nella pagina esce solo il titolo benvenuto nelle newsnews= problema risolto nome campo dovevo mettere il titolo e il corpo_testo adesso sembra che funziona tutto
-
adesso funziona solo che il titolo e il corpo del testo mi esce tutto in un rigo.
voevo il titolo sopra
e il corpo del testo sotto.sto provando ma non va
-
$echo <b>$titolo $corpo_testo </b></br><br>";
diventa
$echo <b>$titolo</b></br><br>$corpo_testo";
Ciao