Inserire nella stasse tabella testo ed immagine

Ciao Gianni

Ho provato ad inserire nel database mysql un campo di testo ed un campo per l'immagine ma non funziona dandomi il seguente errore di sintassi che non riesco ad individuare

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\Inetpub\miosito\database\database con foto\TMP1gsw0imzqw.php on line 15

Nome database foto e nome tabella image2

la tabella è composta dai seguenti campi:

id-> campo identificativo con chiave primaria;

testo-> è il campo varchar che contiene il testo;

picture-> il campo BLOB che contiene l'immagine;

Ti allego il file imputato come al solito

Grazie e buon fine settimana

Odino

[allegato eliminato dall\' amministratore]

inviato 11 anni fa
odino
X 0 X

l'errore si riferisce ad un certo file di nome:

C:\Inetpub\miosito\database\database con foto\TMP1gsw0imzqw.php

quindi il file che hai allegato non serve a risolvere il problema.

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Il file al quale si riferisce è solo un file temporaneo creato da dreamweaver

quando lancio il file che ti ho inviato

Odino :bye:

risposto 11 anni fa
odino
X 0 X

I conti comunque non tornano perché l'errore che ricevi si riferisce alla riga 15 dello script mentre il codice che hai riportato non arriva a 15 righe  :dunno:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Ti ho inviato nuavamente lo script visualizzato qui sotto.

la riga a cui fa riferimento l'errore di sintassi é dove è il comando:

$query=insert etc..

Odino

<html>

<head>

<title>Untitled Document</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<?php

$link=mysql_connect("shin","root","joy");

$data=mysql_select_db("foto");

$photo="tramonto.jpg";

$fp=fopen($photo,"r");

$read=fread($fp,filesize($photo));

fclose($fp);

$query="insert into image2(id,testo,picture)values ('id','tramonto'" .  addslashes($read) .")";

mysql_query($query) or die("Errore:" . mysql_error());

?>

</body>

</html>

risposto 11 anni fa
odino
X 0 X

Mi a proprio che la query è sbagliata:

per prima cosa mi sembra strano che tu voglia inserire come id della tua immagine la stringa "id". Normalmente si usa un numero e questo il più delle volte viene incrementato da MySQL stesso (nelle tabelle in cui "id" è la chiave primaria definita come un int autoincrement)

inoltre manca una virgola tra il testo "tramonto" (che giustamente hai messo tra apici) e il contenuto dell'immagine che però non metti tra apici, e questo è sbagliato poiché devi considerare tale contenuto come una lunga stringa (tant'è vero che la proteggi con la funzione addslashes)

la query dovrebbe essere quindi del tipo:

$query="insert into image2(id,testo,picture)values ('id','tramonto','" .  addslashes($read) ."')";

e se, come suppondo, il campo id sia la chiave primaria della tabella di tipo int autoincrement allora non dovrebbe essere presente nella query che diventerebbe:

$query="insert into image2(testo,picture)values ('tramonto','" .  addslashes($read) ."')";

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

ok provero le modifiche che mi hai suggerito, ti farò sapere se funziona

Grazie

Odino

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