Problema update sql

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator

Seph
Average Member
Mesaje: 164
Membru din: Lun Oct 03, 2005 10:18 pm

Problema update sql

Mesajde Seph » Joi Iul 02, 2015 2:21 pm

Am codul:

Cod: Selectaţi tot

<?
require ('config_floor.php');



$i = 1;
while ($i <= 31){


$culoare[$i] = $_POST['culoare'.$i.''];

echo''.$culoare[$i].'';




$updateSQL = "UPDATE zile SET culoare = '$culoare[$i]' where zi = 4";
mysql_query($updateSQL);

$i++;

}




?>


E corect scris SET culoare = '$culoare[$i]' ?

Nu-mi updateaza in baza de date.
echo''.$culoare[$i].''; imi afiseaza corect "portocaliu".



MarPlo
Senior Member
Mesaje: 885
Membru din: Mie Sep 24, 2008 9:32 am
Localitate: Braila
Contact:

Re: Problema update sql

Mesajde MarPlo » Joi Iul 02, 2015 5:01 pm

Salut
Incearca asa:

Cod: Selectaţi tot

$updateSQL "UPDATE zile SET culoare = '"$culoare[$i] ."' where zi = 4"

nevvermind
Senior Member
Mesaje: 1264
Membru din: Mar Iun 22, 2010 3:17 pm

Re: Problema update sql

Mesajde nevvermind » Joi Iul 02, 2015 6:05 pm

Incerci sa interpolezi o expresie, nu o variabila, si atunci trebuie curlies, altfel PHP nu se prinde unde incepe si unde se termina expresia:

Cod: Selectaţi tot

"UPDATE zile SET culoare = '{$culoare[$i]}' where zi = 4";


Foloseste mysql_real_escape_string(). Mai bine, renunta la familia mysql_* si foloseste PDO.

@MarPlo - transmite si asta novicilor.

http://php.net/manual/en/language.types ... ng.parsing
Facusi un canal de php pe freenode - ##php-ro : https://webchat.freenode.net/

Avatar utilizator
ispas
Senior Member
Mesaje: 654
Membru din: Mar Sep 14, 2010 1:35 pm
Localitate: Craiova
Contact:

Re: Problema update sql

Mesajde ispas » Sâm Iul 04, 2015 10:54 pm

nevvermind scrie:Incerci sa interpolezi o expresie, nu o variabila, si atunci trebuie curlies, altfel PHP nu se prinde unde incepe si unde se termina expresia:

Cod: Selectaţi tot

"UPDATE zile SET culoare = '{$culoare[$i]}' where zi = 4";


Foloseste mysql_real_escape_string(). Mai bine, renunta la familia mysql_* si foloseste PDO.

@MarPlo - transmite si asta novicilor.

http://php.net/manual/en/language.types ... ng.parsing


Agree, in single quote nu-ti va citi variabilele, just :

Cod: Selectaţi tot

'   '.$var.' '
'{$var}'
".$var."
{$var}

CristianG
Average Member
Mesaje: 85
Membru din: Mie Oct 30, 2013 4:45 pm

Re: Problema update sql

Mesajde CristianG » Sâm Iul 11, 2015 10:30 pm

Cum ai tu codul in primu rand asa se scrie semantic si frumos desigur da placerea unui programator sa verifice si sute de mi de coduri

Cod: Selectaţi tot

<?php
require('config_floor.php');
$i = 1;
while ($i <= 31) {
   $culoare[$i] = $_POST['culoare'.$i.''];
   echo''.$culoare[$i].'';

   mysql_query("UPDATE `zile` SET `culoare`='{$culoare[$i]}' WHERE `zi`='4';");
   $i++;
}
?>

Avatar utilizator
ispas
Senior Member
Mesaje: 654
Membru din: Mar Sep 14, 2010 1:35 pm
Localitate: Craiova
Contact:

Re: Problema update sql

Mesajde ispas » Sâm Iul 11, 2015 10:34 pm

CristianG scrie:Cum ai tu codul in primu rand asa se scrie semantic si frumos desigur da placerea unui programator sa verifice si sute de mi de coduri

Cod: Selectaţi tot

<?php
require('config_floor.php');
$i = 1;
while ($i <= 31) {
   $culoare[$i] = $_POST['culoare'.$i.''];
   echo''.$culoare[$i].'';

   mysql_query("UPDATE `zile` SET `culoare`='{$culoare[$i]}' WHERE `zi`='4';");
   $i++;
}
?>


Nu se vor face 31 de update la baza de date? valoare 31 va fi si cea care va ramane in mysql.

nevvermind
Senior Member
Mesaje: 1264
Membru din: Mar Iun 22, 2010 3:17 pm

Re: Problema update sql

Mesajde nevvermind » Dum Iul 12, 2015 4:14 am

ispas scrie:Nu se vor face 31 de update la baza de date? valoare 31 va fi si cea care va ramane in mysql.

Wtf, asa e.
Facusi un canal de php pe freenode - ##php-ro : https://webchat.freenode.net/

CristianG
Average Member
Mesaje: 85
Membru din: Mie Oct 30, 2013 4:45 pm

Re: Problema update sql

Mesajde CristianG » Dum Iul 12, 2015 12:59 pm

Pana la urma e codul lui nu stiu ce a vrut sa faca acolo si putea sa apeleze la for() nu neaparat la while ideea era scrierea mysql-lului corect (sintaxa)

Dupa cum arata functia el lupeaza pana la 31 pentru ca defineste un set de inserari nu o inserare.

Avatar utilizator
ispas
Senior Member
Mesaje: 654
Membru din: Mar Sep 14, 2010 1:35 pm
Localitate: Craiova
Contact:

Re: Problema update sql

Mesajde ispas » Dum Iul 12, 2015 1:27 pm

Da, eu sunt in ceata, nu stiu care este ideea aceste functii...

nevvermind
Senior Member
Mesaje: 1264
Membru din: Mar Iun 22, 2010 3:17 pm

Re: Problema update sql

Mesajde nevvermind » Dum Iul 12, 2015 3:49 pm

Eh, poate Seph nu si-a dat seama.

Yo, Seph, vezi ca suprascrii acelasi rand de 31 de ori (insertie cu acelasi "WHERE" dar valori diferite).

Done. Acu isi va da seama.

PS: Am pus "lupeaza" in colectia mea de gasco-engleza. Oi fi un snob, dar e prea funny s-o ratez. Pana acum am astea:

Cod: Selectaţi tot

polișat (polished)
enablare (enabled)
enablanuit (enabled)
fixat (fixed)
incentivare
incentive
pointeze
forcastează
deployeze
picuite (picked)
blacklistase
lupeaza (looping)
Facusi un canal de php pe freenode - ##php-ro : https://webchat.freenode.net/

clickymedia
Junior Member
Mesaje: 45
Membru din: Mie Iun 17, 2015 2:11 pm
Contact:

Re: Problema update sql

Mesajde clickymedia » Dum Iul 12, 2015 11:42 pm

Ceva mai simplu cu for

for($i=1;$i<=31;$i++){
$culoare[$i] = $_POST['culoare'.$i];
echo $culoare[$i];
mysql_query("UPDATE zile SET culoare='{$culoare[$i]}' WHERE zi=4");
}
Pe caut hotel gasesti case si apartamente de inchiriat in regim hotelier.

Avatar utilizator
ispas
Senior Member
Mesaje: 654
Membru din: Mar Sep 14, 2010 1:35 pm
Localitate: Craiova
Contact:

Re: Problema update sql

Mesajde ispas » Dum Iul 12, 2015 11:58 pm

Tu ai spus aceeasi tampenie.

CristianG
Average Member
Mesaje: 85
Membru din: Mie Oct 30, 2013 4:45 pm

Re: Problema update sql

Mesajde CristianG » Lun Iul 13, 2015 12:06 am

In primu rand nu este corecta formula pentru ca insertul va fi cu WHERE identic.


PS: @clickymedia totusi asa cum spuneam un cod aranjat si scris frumos sar putea !

Cod: Selectaţi tot

for($i = 1; $i <= 31; $i++) {
   $culoare[$i] = $_POST['culoare'.$i];
   //echo $culoare[$i];
   mysql_query("UPDATE `zile` SET `culoare`='{$culoare[$i]}' WHERE `zi`='4';");
}


"echo" nu ai nevoie sa mai faci output decat in caz de vrei sa vezi loop`ut

dianagaby2002
PHPRomania Supporter
Mesaje: 19
Membru din: Mie Aug 05, 2015 10:09 am

Re: Problema update sql

Mesajde dianagaby2002 » Joi Aug 06, 2015 3:36 pm

Pune ghilimelele asa `nume_tabela` la numele tabelei, si asa '$variabila' la variabile:

Cod: Selectaţi tot

$updateSQL = "UPDATE zile SET `culoare` = '$culoare[$i]' where zi = 4";


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 20 vizitatori