Är det nån som har installerat mysql client eller liknade för OpenWRT? isåfall hur, jag skulle vilja skicka data till en mysqlserver.

/Perra
Det går ju att dra in php och mysql-stöd tex så kan du via php stoppa in data i en databas.Perra_V skrev:Hej
Är det nån som har installerat mysql client eller liknade för OpenWRT? isåfall hur, jag skulle vilja skicka data till en mysqlserver.![]()
/Perra
Kod: Markera allt
*/5 * * * * /root/temp.sh >/dev/null 2>&1
Kod: Markera allt
temp=`/usr/bin/digitemp -a -q | awk {'print $2'}`
wget -q -O - "http://www.mindomän.se/temper.php?t=${temp}"
Kod: Markera allt
<?php
$mysql_user = "användarnamnet";
$mysql_pass = "lösenordet";
$mysql_db = "databasnamnet";
$mysql_server = "databasservern";
// Är temperaturen över 50 grader så vill jag inte logga den, då något uppenbarligen är fel.
// Jag låter scriptet skicka ett mail som meddelar mig detta.
if((int)$_GET["t"] > 50)
{
$Name = "Temperaturfel"; //senders name
$email = "jag@mindomän.se"; //senders e-mail adress
$recipient = "jag@mindomän.se"; //recipient
$mail_body = date("Y-m-d H:i:s", time()); //datum och tid
$subject = "Temp error"; //subject
$header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields
mail($recipient, $subject, $mail_body, $header); //mail command
}
// I annat fall skickar vi in värdet och tiden i databasen
elseif(($connect = mysql_connect($mysql_server, $mysql_user, $mysql_pass)) && $_GET["t"])
{
$temp = $_GET["t"];
mysql_select_db($mysql_db, $connect);
$query_0 = "insert into temp values(NULL, NULL, $temp) ";
mysql_query($query_0, $connect);
mysql_close($connect);
}
?>
Kod: Markera allt
CREATE TABLE `temp` (
`id` int(7) NOT NULL auto_increment,
`datum` timestamp(14) NOT NULL,
`temp` float(4,2) default '99.99',
PRIMARY KEY (`id`)
)
Näe, har inte stöd för nåt språk , skulle vilja lägga in mysql-stöd,(men har inte hittat nån how-to,) då den bara skall användas som logger och själva databaserna ligger på en databas server.Niklas skrev:Det går ju att dra in php och mysql-stöd tex så kan du via php stoppa in data i en databas.Perra_V skrev:Hej
Är det nån som har installerat mysql client eller liknade för OpenWRT? isåfall hur, jag skulle vilja skicka data till en mysqlserver.![]()
/Perra
Använder du något scriptspråk på enheten idag?
Då kan du installera php-stöd tillsammans med mysql-stöd och köra via php om du vill.Perra_V skrev:Näe, har inte stöd för nåt språk , skulle vilja lägga in mysql-stöd,(men har inte hittat nån how-to,) då den bara skall användas som logger och själva databaserna ligger på en databas server.Niklas skrev:Det går ju att dra in php och mysql-stöd tex så kan du via php stoppa in data i en databas.Perra_V skrev:Hej
Är det nån som har installerat mysql client eller liknade för OpenWRT? isåfall hur, jag skulle vilja skicka data till en mysqlserver.![]()
/Perra
Använder du något scriptspråk på enheten idag?
/Perra
En liten kommentar på den där koden. Du kanske redan är medveten om det, men den där koden är fullt öppen för en SQL-injection attack iom att du använder $_GET["t"] direkt i anropet till mysql_query(). Nu tänker jag inte publicera hur det går till, men du bör absolut ta en titt på mysql_real_escape_string så du kan skydda dig.Troy McClure skrev:Jag kör ett cronjob var 5:e minut som ser ut såhär:Kod: Markera allt
... elseif(($connect = mysql_connect($mysql_server, $mysql_user, $mysql_pass)) && $_GET["t"]) { $temp = $_GET["t"]; mysql_select_db($mysql_db, $connect); $query_0 = "insert into temp values(NULL, NULL, $temp) "; mysql_query($query_0, $connect); mysql_close($connect); } ...
Kan inte du ge ett exempel? Jag har skrivit en funktion i ASP men vill skriva en i PHP (som jag håller på att lära mig).PerM skrev:En liten kommentar på den där koden. Du kanske redan är medveten om det, men den där koden är fullt öppen för en SQL-injection attack iom att du använder $_GET["t"] direkt i anropet till mysql_query(). Nu tänker jag inte publicera hur det går till, men du bör absolut ta en titt på mysql_real_escape_string så du kan skydda dig.Troy McClure skrev:Jag kör ett cronjob var 5:e minut som ser ut såhär:Kod: Markera allt
... elseif(($connect = mysql_connect($mysql_server, $mysql_user, $mysql_pass)) && $_GET["t"]) { $temp = $_GET["t"]; mysql_select_db($mysql_db, $connect); $query_0 = "insert into temp values(NULL, NULL, $temp) "; mysql_query($query_0, $connect); mysql_close($connect); } ...
Jag försöker att alltid göra detsamma men sånt som hamnar utan för wwwroot:en är jag mindre försiktig med.PerM skrev:Är det inte öppet utåt så är ju risken mindre, tills dess att du öppnar upp något och glömmer detta
Jag har som praxis att alltid skriva "professional-grade" kod oavsätt om det är ett snabbhack eller inte...men så kallas jag för kontroll-freak också....
Kod: Markera allt
$temp = $_GET["t"];
Kod: Markera allt
$temp = (float)$_GET["t"];
Lägg in php med mysql-stöd och sedan kan du nog få tips om hur du via ett php-script kan skicka uppgifterna till en mysql-databar.Perra_V skrev:Hej igen
Frågan kvarstår, även om jag har fått en del tips med PHP.
Hur lägger jag på Mysql stöd på openwrt burken??
/Perra
Jo ja, PHP kodningen och mysql biten går jag iland med, men jag fattar inte hur jag skall få in stödet i burken, har varit och kollat på http://openwrt.org/ men inte blivit klok på hur man gör,Är helt n00b på linuxNiklas skrev:Lägg in php med mysql-stöd och sedan kan du nog få tips om hur du via ett php-script kan skicka uppgifterna till en mysql-databar.Perra_V skrev:Hej igen
Frågan kvarstår, även om jag har fått en del tips med PHP.
Hur lägger jag på Mysql stöd på openwrt burken??
/Perra
Det bör bara vara att installera två paket.Perra_V skrev:Jo ja, PHP kodningen och mysql biten går jag iland med, men jag fattar inte hur jag skall få in stödet i burken, har varit och kollat på http://openwrt.org/ men inte blivit klok på hur man gör,Är helt n00b på linuxNiklas skrev:Lägg in php med mysql-stöd och sedan kan du nog få tips om hur du via ett php-script kan skicka uppgifterna till en mysql-databar.Perra_V skrev:Hej igen
Frågan kvarstår, även om jag har fått en del tips med PHP.
Hur lägger jag på Mysql stöd på openwrt burken??
/Perra![]()
/Perra
Kod: Markera allt
opkg update
opkg install php5 php5-mod-mysql php5-cli
Det är möjligt att det är ipkg istället för opkg som gäller för dig.