Jump to content
php.lv forumi

Recommended Posts

Posted

Kā lai iebāž divas komandas vienā querijā?

 

rakstu

 

mysql_query("insert into userlist(user,password,mail,sex,level,name,surname) values('$username','$dbpass','$mail','$sex','1','$firstname','$surname') AND delete * from inactive_user WHERE id='$inactiveid");

 

raksta man

 

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 'delete * from inactive_user WHERE id='32' at line 1

 

Kā lai pareizi uzraksta?

Posted

Ja izmantotu mysqli_query (php.net/mysqli), tad vareetu kverijus atdaliit ar semikolu (;). Vai arii izveodu proceduuru, kurai padosi vajadziigos parametrus un kura izsauks vajadziigos kverijus.

 

A kur probleema divreiz izsaukt mysql_query() ?

Posted

Gribēju vnk. iemest vienā querijā, laikam manu paranoisko iedomu dēļ.. :)

 

Doma bija tāda, ka pie lietotaaja aktivizaacijas, lietotaaja dati tiek paarvietoti uz aktiivo useru tablu un no neaktiivo tiek dzeesti..

 

Bailes, ka kaadreiz viens no querijiem var nenostraadaat, tad sanaaks taa, ka lietotaajs vai nu nebuus ne vienaa no tabulaam, vai arii abaas..

Posted

if (izpildaas_query1()) izpildaam_query2(); else echo 'query1 failed ..';

 

palasi manuaali par mysql_query()

Posted

Klez, es labi pārzinu mysql_querijus, tikai interisēja par 2 komandām vienā querijā..

 

Es tā kā tu arī izdarīju un vienmēr esmu darijis..

 

if (izpildaas_query1()) izpildaam_query2(); else echo 'query1 failed ..';

 

bet baidos es jau par to, ja izpildiisies pirmais querijs un neizpildiisies otrais.. tur taa lieta..

Posted

Maareen, ja tas tiešām ir tik ļoti svarīgi (un nevari/neveelies izmantot InnoDB tabulas, kas nodrošina transakcijas), tad taisi šitā:

1. Veic insertu

2. Ja viss Ok turpinam.

3. Dabū insertā ģenerēto ID.

4. Veicam delete.

5. Ja delete == false, izdzēšam pirmajā kverijā insertoto rindu (mums ir ID).

Posted

Maaren, ja ir tik ļoti svarīgi, lai izpildās abas divai vai neviena, tad transakcijas (ar visu no tā izrietošo) ir vissaprātīgākā izvēle.

Posted (edited)

mazlet pielabojam ...

if (izpildaas_query1()) 
{
$id = mysql_query_id();
if (izpildaam_query2()) {
 echo "viss bumbaas";
}else { dzesham_no_mysql($id); echo "galiigi garaam"; }

}else echo 'query1 failed ..';

Edited by Klez
×
×
  • Create New...