如果Row1 = Value 1,则更新其他行 [英] if Row1 = Value 1, Update other rows

查看:219
本文介绍了如果Row1 = Value 1,则更新其他行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个小的PHP脚本转到mySql数据库。

I have a little php script that goes to mySql database.

我想看看,在我在数据库中插入新记录之前,如果是数字(value1) )等于数据库中的记录。我也在Row1。

I want to look, before i insert a new record in the database, if the number (value1) equals a record in the database. Wich is also in Row1.

所以我想:


  • 看看是否进入的电话号码等于数据库中的电话号码。如果是这样,那么必须保持电话号码相同,只更新:经度,纬度&时间戳。

  • 如果电话号码等于null。不要将任何值放在我的数据库中。根本没有记录。

  • 如果电话号码不在数据库中,也什么都不做。重复它就像值为null。

这是我当前的PHP代码,我只是在有新值时创建新记录。

Here's my current PHP code, where i just make new records when there are any new values.

  <?php



$con = mysql_connect('server', 'user_name', 'pass');
if (!$con)
{
die('Could not connect: ' . mysql_error());
 }

mysql_select_db("db_name", $con);

if (isset($_REQUEST['data'])){
$json = $_REQUEST['data']; // recieve json from app
$data = json_Decode($json);

mysql_query("INSERT INTO test (id, longitude, latitude, timestamp) VALUES ('$data-   >id','$data->longitude','$data->latitude','$data->timestamp')"); 

}

mysql_close($con);
?>

如果有人可以帮我这个,我们将不胜感激!

If anyone could help me with this, it would be appreciated!

Thanx

推荐答案

你没有提到电话号码字段,所以我假设是 phone_number

You didn't mentioned the phone number field, so I assumed is phone_number:

$db = new PDO('mysql:host=localhost;dbname=testdb;charset=UTF-8', 'username', 'password', array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

if (isset($_REQUEST['data'])){
    $data = json_decode($_REQUEST['data']);
    if($data->phonenumber){
        $stmt = $db->prepare("SELECT `id` FROM `test` where `id`=:phone_number");
        $stmt->execute(array(':phone_number' => $data->phonenumber));
        $row_count = $stmt->rowCount();

        if($row_count && ($data->phonenumber != '')){
            $stmt = $db->prepare("UPDATE `test` SET `longitude`=:longitude, `latitude`=:latitude, `timestamp`=:timestamp WHERE `id`=:phone_number");
            $stmt->execute(array(':longitude' => $data->longitude,':latitude' => $data->latitude,':timestamp' => $data->timestamp,':phone_number' => $data->phonenumber));
        }
    }
}

这篇关于如果Row1 = Value 1,则更新其他行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆