Saisiko täältä kokematon apuja?
Ongelmana siis tällainen alla oleva yksinkertainen pätkä. Jos tulostan $kyselyn vaikkapa echolla ja kopioin sellaisenaan mysql-komentoriville, niin update toimii. Mutta jostain syystä se ei toimi tällaisena PHP-kilkkeenä. Samat konfiguraatiot on toimivina käytössä muissa PHP-sivuissa, joissa suoritetaan erilaisia SQL-kyselyjä.
Olen neuvoton ja käännyn puoleenne.
<?php //Yhteyden määrittelyt include 'config.php'; //Avataan yhteys include 'opendb.php'; //Asetetaan päivitettävien sarakkeiden lähde ja kohde-taulut $taulu_lahde = ta2007; $taulu_kohde = ta2005; $kysely = "UPDATE " . $taulu_kohde . ", " . $taulu_lahde . " SET " . $taulu_kohde . ".DateHV = " . $taulu_lahde . ".DateHV, " . $taulu_kohde . ".TimeHV = " . $taulu_lahde . ".TimeHV, " . $taulu_kohde . ".DCHV = " . $taulu_lahde . ".DCHV, " . $taulu_kohde . ".ACHV = " . $taulu_lahde . ".ACHV " . "WHERE " . $taulu_kohde . ".Serialnumber = " . $taulu_lahde . ".Serialnumber;"; $haku = mysql_query($kysely, $yhteys); //Suljetaan yhteys include 'closedb.php'; ?>
Mod. edit: kooditagit koodeihin
Merkkijonot asetetaan lainausmerkkien kanssa, siis
$taulu_lahde = "ta2007"; $taulu_kohde = "ta2005";
Tuon $kysely-rivinkin saisi sievenemään:
$kysely = "UPDATE $taulu_kohde, $taulu_lahde SET $taulu_kohde.DateHV = $taulu_lahde.DateHV...
Kiitos nopeasta vastauksesta.
Lisäsin lainausmerkit, jotka uupuivat. Sievensin myös tuota hirvitystä ohjeiden mukaan hiukan kauniimmaksi. Valitettavasti toimivuus on yhä sama kuin aiemmin, eli kun tuon $kyselyn tulostaa echolla ja kopioi komentoriville, homma toimii. Mutta tällaisena kilkkeenä se ei tahdo toimia :/
<?php //Asetetaan päivitettävien sarakkeiden lähde ja kohde-taulut tietokannasta $taulu_lahde = "HV"; $taulu_kohde = "ta2005"; //muodostetaan SQL-query, joka päivittää kohdetaulun sarakkeet lähdetaulun sarakkeita vastaaviksi, jos sarjanumero on sama $kysely = "UPDATE $taulu_kohde, $taulu_lahde SET $taulu_kohde.DateHV = $taulu_lahde.DateHV, $taulu_kohde.TimeHV = $taulu_lahde.TimeHV, $taulu_kohde.DCHV = $taulu_lahde.DCHV, $taulu_kohde.ACHV = $taulu_lahde.ACHV WHERE $taulu_kohde.Serialnumber = $taulu_lahde.Serialnumber"; ?>
Tähän voisit tutustua ennen seuraavan koodin pätkän lähettämistä :)
Aplus kirjoitti:
Mutta jostain syystä se ei toimi tällaisena PHP-kilkkeenä. Samat konfiguraatiot on toimivina käytössä muissa PHP-sivuissa, joissa suoritetaan erilaisia SQL-kyselyjä.
Milläs tavalla tuo toimimattomuus ilmenee? Tuleeko PHP:ltä joku virheilmoitus, vai jääkö UPDATE vain toteutumatta?
Aihe on jo aika vanha, joten et voi enää vastata siihen.