Gå til innhold

[SOLVED]SQL spørring fra iPhone


Anbefalte innlegg

Skrevet (endret)

Jeg har en iPhone app som skal gjøre en spørring til en MySQL database som ligger på nettet.

 

iPhonen skal scanne en barcode for så å sjekke barcoden opp mot min egendefinerte database på nettet.

 

 

Måten jeg tenkte å gjøre dette på var noe sånt no som denne:

 

www.site.com/generate.php?str=54491229

 

 

NSString *post =[NSString stringWithFormat:@”username=%@&password=%@”,usernameField.text, passwordField.text];

 

NSString *hostStr = @”THIS IS MY URL/iphonelogin-do.php?”;

hostStr = [hostStr stringByAppendingString:post];

NSData *dataURL = [NSData dataWithContentsOfURL: [ NSURL URLWithString: hostStr ]];

NSString *serverOutput = [[NSString alloc] initWithData:dataURL encoding: NSASCIIStringEncoding];

 

 

 

Denne(phpsiden) skulle da identifisere strekkoden (54491229) og gjøre en spørring til databasen som skal matche strekkoden med riktig row f.eks:

 

ID / Strekkode / Type / Navn / Kategori / Produsent / Utløpsdato

1 / 54491229 / NULL / Cola / Drikke / CocaCola / NEV0R

 

 

Vil da ha dette ut igjen i XML så jeg kan parse det videre til SQLite DBn innebygget i Appen.

 

Anyone som har peiling? ^_^

Endret av TekniskFeil
Videoannonse
Annonse
Skrevet

Hvor er det du står fast?

 

Du kan lett bare bygge din egen xml struktur på samme måte som du ville laget et html dokument med php, etter at du har kjørt spørringen. Er det der du står fast?

 

Eller så har du klassen SimpleXML.

Skrevet (endret)

Akkurat nå trenger jeg hjelp til en SQL-spørring.

 

iPhonen POSTer en strekkode til f.eks $str

 

Vil så ha en SQL spørring som gjør noe slikt som dette:

 

 $rs = mysql_query("SELECT * FROM varer WHERE strekkode=$str",$connection) 
or die ("invalid query");  

 

men det funker vel ikke med variabler i spørringer? Har ikke fått testet det i praksis enda iom at obj C kodingen har tatt litt prioritet

Endret av TekniskFeil
Skrevet

Bruker denne fine lille snippeten for å generere XMLen. Noen tanker? (Denne har fortsatt ingenting om hvordan jeg skal forholde meg til inputen fra iPhonen)

 

 //XML output of an existing MySql database 
header("Content-type: text/xml"); 

//to create connection to database 
$connection = mysql_connect("localhost","root", "root") 
or die ("could not connect to database"); 

//to select the database here test is the sample database come with mysql
$db = mysql_select_db("test",$connection) 
or die ("Couldn't select database."); 

$rs = mysql_query("SELECT * FROM varer WHERE strekkode=$str",$connection) 
or die ("invalid query"); 

//count the no. of  columns in the table 
$fcount = mysql_num_fields($rs); 

//you can choose any name for the starting tag 
echo ("<result>"); 
while($row = mysql_fetch_array( $rs ) ) 
{ 
echo ("<tablerow>"); 
for($i=0; $i< $fcount; $i++) 
{ 
$tag = mysql_field_name( $rs, $i ); 
echo ("<$tag>". $row[$i]. "</$tag>"); 
} 
echo ("</tablerow>"); 
} 
echo ("</result>"); 
?> 

Skrevet (endret)

du forholder deg til GET input fra iPhonen på samme måte som du forholder deg til all annen input. Om den kommer fra iphone, pc, mac, android, firefox, chrome, brevduer, morsesignaler eller Jens Stoltenberg; er GET variablen, behandlingen og logikken akkurat det samme.

 

 

$str = mysql_real_escape_string($_GET['str']);

 

(legg merke til at mysql_real_escape_string bare funker etter at mysql_connect er kjørt)

 

http://www.tizag.com/phpT/postget.php

http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php

Endret av Terrasque

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...