Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP ja MySQL query ongelma

Aplus [11.04.2007 19:35:34]

#

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

tkarkkainen [11.04.2007 20:16:17]

#

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...

Aplus [11.04.2007 20:59:53]

#

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";
?>

LaNu [12.04.2007 01:28:39]

#

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?

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta