2013-08-21 21 views
5

Sto cercando di aggiungere valori a una tabella in phpmyadmin e ottengo l'errore: colonna sconosciuta '...' in 'lista campi'.Colonna sconosciuta nell'elenco dei campi. PHP + Mysql

Ecco il mio codice:

<?php 

    //preparing the patch to copy the uploaded file 
    $target_path = "images/"; 

    //adding the name of the file, finishing the path 
    $target_path = $target_path . basename($_FILES['image']['name']); 

    //moving the file to the folder 
    if(move_uploaded_file($_FILES['image']['tmp_name'], $target_path)) { 
     echo "The file ". basename($_FILES['image']['name']). 
     " has been uploaded"; 
    } else{ 
     echo "There was an error uploading the file, please try again!"; 
    } 

    //getting input from the form 
    $name = $_POST['game']; 
    $description = $_POST['beschrijving']; 

    //preparing the query to insert the values 
    $query = "INSERT INTO tblGames (name, description, image) VALUES ($name,  $description,". $target_path .")"; 

    //opening connection to db 
    $link = mysql_connect('localhost', 'root', ''); 
if (!$link) { 
     die('Could not connect: ' . mysql_error()); 
} 

    //selecting a db 
mysql_select_db("BouncingGiani", $link) or die(mysql_error()); 

//running the query 
$result = mysql_query($query) or die (mysql_error()); 

//closing the connection 
mysql_close($link); 

?> 

così quando entro FDS come nome nella forma nella pagina precedente ottengo: colonna 'fds' sconosciuta in 'dei campi'. Questo non mi è mai successo prima e non ho idea di cosa sta succedendo.

+0

Possibile duplicato: http://stackoverflow.com/questions/1346209/unknown-column-in-field-list-error-on-mysql-update-query –

+0

È possibile visualizzare una query di esempio effettiva che si tenta di eseguire? Non vedo nulla che possa causare un problema di colonna sconosciuta a meno che tu non abbia i campi 'name',' description' e 'image' sul tuo tavolo. Tuttavia, non sembra che si utilizzino virgolette singole attorno ai valori che si stanno inserendo, il che è problematico. –

+1

A proposito, il tuo codice è completamente aperto alle iniezioni SQL ... – PLPeeters

risposta

18

penso che questo

$query = "INSERT INTO tblGames (name, description, image) VALUES ($name, $description,". $target_path .")"; 

dovrebbe essere

$query = "INSERT INTO tblGames (name, description, image) VALUES ('$name', '$description', '". $target_path ."')"; 
+0

Sì, questo ha risolto il problema. Grazie per aver risposto alla mia domanda. :) –

+0

Voglio ringraziare dal mio cuore –

3

Sembra che i valori dovrebbe essere citato nel vostro $query dichiarazione, vale a dire $name, $description e $target_path.

+0

Grazie, hai risolto il problema .. Silly me dimenticando le quotazioni. –

+0

Sono sempre le piccole cose ... Buona fortuna. –

0

Qual è errore di sintassi mysql qui in questo codice:

mysql_query("INSERT INTO Company SET Company name='".$companyname.",'name='".$name.",' Phone='".$phone.",' Username='".$username.",' 
      Password='".$password."'") 

O

die(mysql_error()); 
Problemi correlati