2

私はPHPの初心者ですが、これはよくわかりませんでした。

** $id as input および id as input column ** がデータベースに既に存在する場合は、PHP ファイルをチェックインしたい..次に、経度、緯度、タイムスタンプなどの他のすべての値を更新する必要があります。

これが私のコードです:(重要な部分のみ...)

file_put_contents('dump.txt', "POST: \n" . print_r($_POST, true) . "\n\n\n GET: \n" .   print_r($_GET, true));


// Performing SQL query
if (isset($_GET['data'])) {
$data = json_decode($_GET['data'], true);
$id = $data['id'];
$latitude = $data['latitude'];
$longitude = $data['longitude'];
$timestamp = $data['timestamp'];

$query = sprintf("INSERT INTO locatie (id, longitude, latitude, timestamp) VALUES ('%s', '%s', '%s', '%s')", mysql_real_escape_string($id) , mysql_real_escape_string($longitude),  mysql_real_escape_string($latitude), mysql_real_escape_string($timestamp))  ;
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
echo "OK";

// Free resultset
mysql_free_result($result);
}
4

3 に答える 3

2

これは、単一の SQL 要求で実行できます。UNIQUEまだ作成していない場合は、フィールドにインデックスを作成する必要がありidます。次に、次のようにリクエストを完了します。

INSERT INTO locatie (id, longitude, latitude, timestamp) 
    VALUES ('%s', '%s', '%s', '%s')
ON DUPLICATE KEY UPDATE 
    longitude=VALUES(longitude),
    latitude=VALUES(latitude),
    timestamp=VALUES(timestamp)
于 2012-10-10T09:52:06.337 に答える
1

ロジックは次のようになります

$sql = mysql_query("select * from table_name where phonenumber = your_phone number");
if(mysql_num_rows($sql) > 0)
{
    // your code for when phone number not present
}
else
{
   // your update query.
}

これは単なる論理です。の代わりにMysqliORを使用します。PDOmysql

于 2012-10-10T09:52:37.373 に答える
0
 first create sp like :
    CREATE PROCEDURE `SP_name`(IN `par1` INT, IN `par2` INT, IN `par3` Decimal)
    begin
      declare Rec_Count int ;   
    Proc:
      begin
         select count(*) into Rec_Count from  table UL where phoneno=par1;
       if(Rec_Count <= 0) then
         select '0' as success,'Phoneno is not found' as  response;
          leave Proc;
       end if;

        INSERT INTO locatie (col1,col2,...) VALUES (par1,par2,...);
        select '1' as success,'data successfully inserted.' as  response;
    end ;

    end

    ----------------
    then your code is :

  execute sp like from your code is :
$query="call sp_name(par1,par2,..);"
 $result = mysql_query($query) or die('Query failed: ' . mysql_error());
于 2012-10-10T09:56:41.277 に答える