isnert into не става....

IPFaN

Registered
PHP:
<?php
if(isset($_POST['submit']))
{
	$code = trim($_POST['code']);
	$username = htmlspecialchars(addslashes(trim($_POST['user'])));
	$email = htmlspecialchars(trim($_POST['email']));
	
	 if(mobio_checkcode($servID, $code, 0) == 1) {
		 if($username==NULL || $email==NULL )
		 {
			 print "<div class='msg_error'>Моля въведете ника ви в играта и вашия email!</div>";
			 print '<meta http-equiv="refresh" content="2; url=index.php">';
		 }else{
			  $check = mysql_query("SELECT * FROM `permissions_inheritance` WHERE child='".$uservvvname."'") or die (mysql_error());
			  if(mysql_num_rows($check) >0)
			  {
				  print "<div class='msg_error'>Вече има играч с такъв ник!</div>";
			      print '<meta http-equiv="refresh" content="2; url=index.php">';
			  }else{
                mysql_query("INSERT INTO 'iconomy' (username, balance) 
                VALUES ('.$username.',100000)");
				   contact();
				   print "<div id='form-send'><center><h3>Заявката Ви е успешно изпратена.</h3>
				   <p>".$success."</p></center>";
				   print '<meta http-equiv="refresh" content="2; url=index.php">';
			  }
		 }
	 }else{
		 print "<div class='msg_error'>".$expire."</div>";
		 print '<meta http-equiv="refresh" content="2; url=index.php">';
	 }
}
?>
имам една таблица


CREATE TABLE IF NOT EXISTS `iconomy` (
`id` int(255) NOT NULL auto_increment,
`username` varchar(32) NOT NULL,
`balance` double(64,2) NOT NULL,
`status` int(2) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=429 ;

искам в нея да мога да комбинирам в колоната balance дадено число за съответния username

Как ще стане пробвах по няколко начина не успявам съвсем новесъм с php и mysql и почти нищо незнам ...
 
PHP:
mysql_query("INSERT INTO iconomy SET username= $username, balance= '100000'");

Използвай тази заявка.
 
Сложи заявката (както ти даде daemon) със едно mysql_error()
Код:
mysql_query("INSERT INTO iconomy SET username= $username, balance= '100000'") or die (mysql_error());
за да знаеш къде е проблема...
 
Символните данни трябва да са обградени с кавички.
PHP:
mysql_query("INSERT INTO `iconomy` (`username`,` balance`) 
                VALUES ('$username',100000)");
Съшо така таблиците и колоните не трябва да са в кавички а в апострофи.
 
HerpaMoTeH каза:
Символните данни трябва да са обградени с кавички.
PHP:
mysql_query("INSERT INTO `iconomy` (`username`,` balance`) 
                VALUES ('$username',100000)");
Съшо така таблиците и колоните не трябва да са в кавички а в апострофи.

По-удачно е да се иползва INSERT INTO....SET. Представи си че имаш 20 полета и трябва да правиш някакви промени.. Ще се объркаш много докато намериш какво трябва да коригираш.

Пробвай да рестартираш сървъра, защото в самата заявка нямаш никъде ipfan.

Също така провери дали заявката е пускаш към правилната база от данни : )
 
deam0n каза:
HerpaMoTeH каза:
Символните данни трябва да са обградени с кавички.
PHP:
mysql_query("INSERT INTO `iconomy` (`username`,` balance`) 
                VALUES ('$username',100000)");
Съшо така таблиците и колоните не трябва да са в кавички а в апострофи.

По-удачно е да се иползва INSERT INTO....SET. Представи си че имаш 20 полета и трябва да правиш някакви промени.. Ще се объркаш много докато намериш какво трябва да коригираш.

Пробвай да рестартираш сървъра, защото в самата заявка нямаш никъде ipfan.

Също така провери дали заявката е пускаш към правилната база от данни : )
А сега ми кажи коя е по-удобна при записване на повече от 1 ред ? Която ти е по удобна нея си ползвай. В случая тези грешки избиват заради неправилно написана заявка или заради неправилно подадени стойности. Тази грешка избива в случая защото $username е обграден с апострофи.
 
HerpaMoTeH каза:
А сега ми кажи коя е по-удобна при записване на повече от 1 ред ? Която ти е по удобна нея си ползвай. В случая тези грешки избиват заради неправилно написана заявка или заради неправилно подадени стойности.

Код:
mysql_query("INSERT INTO `iconomy` (`username`,` balance`,` asdd`,` dddsa`,` dasdasdas`,` dasdas`,` dsdasdas`,` dasdasdas`,` ddsasd`,` ddsaads`,` dddsaas`,` dasdasds`,` dasdsdas`,` dsdsdsa`,`ffffff`,` ddssaas`,` dsads`,` ddds`,` dds`,` dsada`,` sdsad32ds`,` dsdasdas`,`dasdasdas`,`dsdsds`,`ddsd`,` ssd`,` dasdasds`,` ddsaas`,` dd324`,` ddsdddd`,` dddddasasssaas`) VALUES ('$username',100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000,100000)");

Засечи си колко време ще ти отнеме да смениш стойноста на полето ffffff от 100000 на 99999 при така написана заявка. Ами ако трябва да сменяш на повече полета стойностите примерно? Така е много объркано.
 
deam0n каза:
HerpaMoTeH каза:
Засечи си колко време ще ти отнеме да смениш стойноста на полето ffffff от 100000 на 99999 при така написана заявка. Ами ако трябва да сменяш на повече полета стойностите примерно? Така е много объркано.
Код:
INSERT INTO `dbevn`.`tblmeterscurrent`(`fldSN`,`fldID`,
`fldDateTime`,`fldP1`,`fldP2`,`fldP3`,`fldP4`,`fldP5`,`fldP6`,`fldP7`,
`fldP8`,`fldP9`,`fldP10`,`fldP11`,`fldP12`,`fldP13`,`fldP14`,`fldP15`,`fldP16`,
`fldP17`,`fldP18`,`fldP19`,`fldP20`,`fldP21`,`fldP22`,`fldP23`,`fldP24`,`fldP25`,
`fldP26`,`fldP27`,`fldP28`,`fldP29`,`fldP30`,`fldP31`,`fldP32`,`fldP33`,`fldP34`,
`fldP35`,`fldP36`,`fldP37`,`fldP38`,`fldP39`,`fldP40`,`fldP41`,`fldP42`,`fldP43`) 
VALUES (<{fldSN: }>,<{fldID: }>,
<{fldDateTime: }>,<{fldP1: }>,<{fldP2: }>,<{fldP3: }>,<{fldP4: }>,<{fldP5: }>,<{fldP6: }>,
<{fldP7: }>,<{fldP8: }>,<{fldP9: }>,<{fldP10: }>,<{fldP11: }>,<{fldP12: }>,<{fldP13: }>,
<{fldP14: }>,<{fldP15: }>,<{fldP16: }>,<{fldP17: }>,<{fldP18: }>,<{fldP19: }>,
<{fldP20: }>,<{fldP21: }>,<{fldP22: }>,<{fldP23: }>,<{fldP24: }>,<{fldP25: }>,
<{fldP26: }>,<{fldP27: }>,<{fldP28: }>,<{fldP29: }>,<{fldP30: }>,<{fldP31: }>,
<{fldP32: }>,<{fldP33: }>,<{fldP34: }>,<{fldP35: }>,<{fldP36: }>,<{fldP37: }>,
<{fldP38: }>,<{fldP39: }>,<{fldP40: }>,<{fldP41: }>,<{fldP42: }>,<{fldP43: }>);
Запознай се с MySQL Workbench и по-точно опцията Copy Insert Statement :)
Както казах всеки може да ползва по-удобния за него си синтаксис.

P.S. Извинявам се ако звучи обидно, не съм целял това.
 
Оспамихте ми темата... :D Може ли някой да се свърже с мен по skype: ipfan-mc да му обясня какво точно искам да направя и да ми помогне. защото както видях някой беше казал да рестартирам сървъра но аз гледам, че в самата БД нищо не става....
________________________________________________________________
// Редакция от мод : Тъй като си нов , ще го кажа кратко. НЕ се толерира да отваряш тема , и след това да искаш помощ по който и да е било месинджар.
 
Проблема може да ти е от MYSQL 5. По-точно

SQL_MODE=

добави му една решетка в my.ini (принципно там седи)

Излиза, когато на някое поле не си му задал права по подразбиране т.е. няма DEFAULT '1', примерно на колоната :)
 

Back
Горе