webForumDet fria alternativet

hämta värde från formulär till mysql_query

PHP

8 svar · 286 visningar · startad av tronez

Medlem sedan juli 2001728 inlägg
Frågan#1

Tjena har ett problem med att få min query att funkar,
det är så att jag vill hämta ett värde ur en listbox, värdet man väljer där ska senare blir den databas man ska spara informationen i, men det vill inte funka..

mysql_query("INSERT INTO '$_POST['plLag']'(namn, nr, pos, alder, langd, vikt, sasonger ,moderklubb ,kommentar, bild) VALUES('{$_POST['plNamn']}', '{$_POST['plNum']}', '{$_POST['plPos']}', '{$_POST['plAlder']}', '{$_POST['plLangd']}', '{$_POST['plVikt']}', '{$_POST['plSasong']}', '{$_POST['plModer']}', '{$_POST['plComment']}', '{$_POST['frm_file']}'") or die(mysql_error());

listboxen heter då plLag, jag får ett felmeddelande som lyder:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\inetpub\wwwroot\projekt\cph\admin\index.php on line 358

jag har provat lite olika " " ' ' kombinationer men inget verkar funka när jag gör dom :) Nån som vet?

Medlem sedan juni 20015 009 inlägg
#2

Du har glömt att kommatecken mellan sasonger och moderklubb.

/r Det fixa du visst precis, fortfarande samma fel? :)

Medlem sedan juli 2001728 inlägg
#3

jo, har ändrat det redan, samt fixat att den väljer vilken databas den sparar i, men jag fick ett nytt felmeddelande:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Denna säger mig inte mkt...

Medlem sedan juli 20033 147 inlägg
#4

Ser ut som du har en tom post du vill sätta in i databasen.

Medlem sedan juli 2001728 inlägg
#5

jo tänkte på det oxå, det är så att jag ska ladda upp en bild samtidigt som jag lägger till detta i databasen...

dock så försökte jag ju bara föra det som stog i inputen där man pekar på bilden, så jag flyttade ner upload scriptet en bit, å sen la jag till i mysql_query $_FILES['frm_file']['name']

if(isset($_POST['frm_upload'])) { 
	
   	if(is_uploaded_file($_FILES['frm_file']['tmp_name'])) 
   	{ 
      	if (eregi(".gif$", $_FILES['frm_file']['name']) || eregi(".jpg$", $_FILES['frm_file']['name'])) 
      	{ 
       	  $check_filename = "true"; 
     	 } 
      	else 
      	{ 
        	 echo "Filen måste ha filformatet .JPG eller .GIF.<br>"; 
        	 $check_filename = "false"; 
      	} 

      	if ($_FILES['frm_file']['size'] > 500000) 
      	{ 
         	echo "Filen kan vara max 5000kb.<br>"; 
         	$check_filesize = "false"; 
      	} 
      	else 
      	{ 
       	  $check_filesize = "true"; 
      	} 

      	if($check_filename == "true" && $check_filesize == "true") 
      	{ 
         	copy($_FILES['frm_file']['tmp_name'], "../images/players/{$_FILES['frm_file']['name']}"); 
      	} 
		$db = $_POST['plLag'];
	
  		if (empty($_POST['plNamn']) || empty($_POST['plPos']) || empty($_POST['plNum']) || empty($_POST['plSasong']) || empty($_POST['plLangd'])|| empty($_POST['plVikt'])|| empty($_POST['plComment']) || empty($_POST['plModer'])) {
    		$reg_error[] = 0;
  		} 
 	 	if(isset($reg_error)){
  			echo "<p class=\"failure\">Du har glömt fylla i alla fält!</p>";
			exit;
  		}
		
		$bild = $_FILES['frm_file']['name'];
		if (!isset($reg_error)) {
    		mysql_query("INSERT INTO $db(namn, nr, pos, alder, langd, vikt, sasonger, moderklubb ,kommentar, bild) VALUES('{$_POST['plNamn']}', '{$_POST['plNum']}', '{$_POST['plPos']}', '{$_POST['plAlder']}', '{$_POST['plLangd']}', '{$_POST['plVikt']}', '{$_POST['plSasong']}', '{$_POST['plModer']}', '{$_POST['plComment']}', $bild") or die(mysql_error());
  		}
		echo "<p class=\"success\">Du har nu lagt till ny spelare i $db!</p>";
   	} 
}

Notice: Undefined index: frm_file in c:\inetpub\wwwroot\projekt\cph\admin\index.php on line 350

Rad 350 är if(is_uploaded_file($_FILES['frm_file']['tmp_name']))

formulär knappen heter frm_upload och inputboxen heter frm_file, men den kan ändå inte hitta den?

Medlem sedan aug. 20002 975 inlägg
#6

Är input-fältet av typen 'file', och har du med enctype="multipart/form-data" i form-taggen.

Medlem sedan juli 2001728 inlägg
#7

nej, jag hade glömt enctype ;) tack!

men fortfarande får jag felmeddelandet

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

förmodar att det är denna query den gnäller på


$bild = $_FILES['frm_file']['name'];
		if (!isset($reg_error)) {
    		mysql_query("INSERT INTO $db(namn, nr, pos, alder, langd, vikt, sasonger, moderklubb ,kommentar, bild) VALUES('{$_POST['plNamn']}', '{$_POST['plNum']}', '{$_POST['plPos']}', '{$_POST['plAlder']}', '{$_POST['plLangd']}', '{$_POST['plVikt']}', '{$_POST['plSasong']}', '{$_POST['plModer']}', '{$_POST['plComment']}', '$bild'") or die(mysql_error());
  		}
		echo "<p class=\"success\">Du har nu lagt till ny spelare i $db!</p>";
      	}
Medlem sedan aug. 20002 975 inlägg
#8

Vad jag kan se så saknar du den avslutande parentesen för VALUES

Medlem sedan juli 2001728 inlägg
#9

nej, såg det precis... tack för all hjälp!

257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)