2016-05-13 10 views
2

PHP/MySQLでの経験は非常に少ないです。xcodeにphpMyAdminを使用してMySQLからデータを取得する

私は、phpMyAdmin経由でMySQLからデータを取得しようとしていて、理解できる形式でxcodeに戻そうとしています。

<?php 

// Create connection 
$con=mysqli_connect("localhost","username","password","database"); 

// Check connection 
if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

// This SQL statement selects ALL from the table 'Table1' 
$sql = "SELECT * FROM Table1"; 

// Check if there are results 
if ($result = mysqli_query($con, $sql)) 
{ 
    // If so, then create a results array and a temporary one 
    // to hold the data 
    $resultArray = array(); 
    $tempArray = array(); 

    // Loop through each row in the result set 
    while($row = $result->fetch_object()) 
    { 
     // Add each row into our results array 
     $tempArray = $row; 
     array_push($resultArray, $tempArray); 
    } 

    // Finally, encode the array to JSON and output the results 
    echo json_encode($resultArray); 
} 


// Close connections 
mysqli_close($con); 
?> 

私はここで何が起こっているのか理解していますが、1つのテーブルからデータを取り出すだけです。データベースの複数のテーブルからデータを取得したい場合は、どのように上記のコードを編集できますか?

答えて

0

それは次のように、あなたがMySQLのクエリでテーブルを結合することができ、あなたが達成しようとしているかによって異なります。これは、関連テーブルからの注文情報と顧客の会社名のすべてを返します

SELECT o.*, c.companyName FROM orders o INNER JOIN customers c on o.customerId = c.id 

複数の異なる表を戻す場合は、複数のエンドポイントを作成する必要があります。多分customers.php、orders.phpなど。

モバイルプロジェクトのバックエンドを作成するときは、通常、Symfony2を使用してRESTful APIを作成しますが、これは学習に時間がかかります。

このtutorialは、MySQLの理解に役立つかもしれません。

+0

私は複数のテーブルを持っています。ただし、外部キーを使用する残りのテーブルとの関係を持つ1つのメインテーブルがあります。この場合、上記のコードでは 'Table1'になります。すべての関係は1対多数です。 – luke

+0

上記のコードとリンクを使用すると、データを取得するために必要な結合を作成できます。異なる結果を得るには、複数の異なるスクリプトが必要になることがあります – Scriptable

関連する問題