Php 基于逻辑测试的mysql数据库更新
我正在尝试根据另一个数据库的数据更新一个数据库 基本上,道路号、街区号和建筑号都在这两个数据库中,但其中一个包含lats和longs,而另一个不包含。因此,我正在尝试将lats和longs更新到另一个 这就是我所做的Php 基于逻辑测试的mysql数据库更新,php,mysql,Php,Mysql,我正在尝试根据另一个数据库的数据更新一个数据库 基本上,道路号、街区号和建筑号都在这两个数据库中,但其中一个包含lats和longs,而另一个不包含。因此,我正在尝试将lats和longs更新到另一个 这就是我所做的 <?php mysql_connect("localhost", "root", "test") or die(mysql_error()); mysql_select_db("class") or die(mysql_error()); $data = mys
<?php
mysql_connect("localhost", "root", "test") or die(mysql_error());
mysql_select_db("class") or die(mysql_error());
$data = mysql_query("SELECT * FROM testdata WHERE lat2='' And lon2 = ''"); // Selects from the database without lats and longs
$address = mysql_query("SELECT * FROM address ") // selects from database with lats and longs
or die(mysql_error());
while($infodata = mysql_fetch_array( $data ))
{
$infoaddress = (mysql_fetch_array($address));
$BuildingA = $infoaddress['Building']; // A stands for Address where is the database address
$RoadNoA = $infoaddress['RoadNo'];
$BlockA = $infoaddress['Block'];
$BuildingD = $infodata['Building']; // D stands for testData which is the same database
$RoadNoD = $infodata['RoadNo'];
$BlockD = $infodata['Block'];
$idA = $infoaddress['id']; // ID for address
$idD = $infodata['id']; // ID for Data
$lat = $infoaddress['lat']; // get the lats and longs
$lon = $infoaddress['lon'];
if ($BuildingA = $BuildingD && $RoadNoA = $RoadNoD && $BlockA = $BlockD)
{ // do the logical test
mysql_query("UPDATE testdata SET lat2='$lat', lon2='$lon' WHERE id='$idD'"); // update the values
}
else
mysql_query("UPDATE testdata SET lat2='', lon2='' WHERE id='$idD'"); // update the values
}
?>
试试这个,用=
代替=
if ($BuildingA == $BuildingD && $RoadNoA == $RoadNoD && $BlockA == $BlockD)
而不是
if ($BuildingA = $BuildingD && $RoadNoA = $RoadNoD && $BlockA = $BlockD)
试试这个,用=
代替=
if ($BuildingA == $BuildingD && $RoadNoA == $RoadNoD && $BlockA == $BlockD)
而不是
if ($BuildingA = $BuildingD && $RoadNoA = $RoadNoD && $BlockA = $BlockD)
试试这个,用=
代替=
if ($BuildingA == $BuildingD && $RoadNoA == $RoadNoD && $BlockA == $BlockD)
而不是
if ($BuildingA = $BuildingD && $RoadNoA = $RoadNoD && $BlockA = $BlockD)
试试这个,用=
代替=
if ($BuildingA == $BuildingD && $RoadNoA == $RoadNoD && $BlockA == $BlockD)
而不是
if ($BuildingA = $BuildingD && $RoadNoA = $RoadNoD && $BlockA = $BlockD)
我怀疑你真正想要的是一个更新
和加入
:
UPDATE testdata t
JOIN address a USING (Building, RoadNo, Block)
SET t.lat2 = a.lat, t.lon2 = a.lon
WHERE t.lat2 = '' AND t.lon2 = ''
我怀疑你真正想要的是一个更新
和加入
:
UPDATE testdata t
JOIN address a USING (Building, RoadNo, Block)
SET t.lat2 = a.lat, t.lon2 = a.lon
WHERE t.lat2 = '' AND t.lon2 = ''
我怀疑你真正想要的是一个更新
和加入
:
UPDATE testdata t
JOIN address a USING (Building, RoadNo, Block)
SET t.lat2 = a.lat, t.lon2 = a.lon
WHERE t.lat2 = '' AND t.lon2 = ''
我怀疑你真正想要的是一个更新
和加入
:
UPDATE testdata t
JOIN address a USING (Building, RoadNo, Block)
SET t.lat2 = a.lat, t.lon2 = a.lon
WHERE t.lat2 = '' AND t.lon2 = ''
mysql\u
库已弃用-请使用PDO或mysqli\u
。关于压痕的事。小心SQL注入谢谢。这是脱机的,我只是想更新我的数据库。我不明白你在做什么。您正在从两个表中读取数据,并且似乎希望这些行彼此对应。但是没有按
排序,所以您以随机顺序读取每个表。您可能只需在两个SQL查询中编写它,然后使用SQL而不是PHPI。不知道如何使用它,按id排序?这不会产生相同的结果,因为这两个表具有不同的id吗?我的想法是:如果lat和long为空,我逐行读取第一个表,然后一直读取整个第二个表(这就是我将其放入循环的原因),以检查是否存在对应的匹配。我错了吗?mysql\uuu
库已被弃用-请使用PDO或mysqli\uu
。关于压痕的事。小心SQL注入谢谢。这是脱机的,我只是想更新我的数据库。我不明白你在做什么。您正在从两个表中读取数据,并且似乎希望这些行彼此对应。但是没有按排序,所以您以随机顺序读取每个表。您可能只需在两个SQL查询中编写它,然后使用SQL而不是PHPI。不知道如何使用它,按id排序?这不会产生相同的结果,因为这两个表具有不同的id吗?我的想法是:如果lat和long为空,我逐行读取第一个表,然后一直读取整个第二个表(这就是我将其放入循环的原因),以检查是否存在对应的匹配。我错了吗?mysql\uuu
库已被弃用-请使用PDO或mysqli\uu
。关于压痕的事。小心SQL注入谢谢。这是脱机的,我只是想更新我的数据库。我不明白你在做什么。您正在从两个表中读取数据,并且似乎希望这些行彼此对应。但是没有按排序,所以您以随机顺序读取每个表。您可能只需在两个SQL查询中编写它,然后使用SQL而不是PHPI。不知道如何使用它,按id排序?这不会产生相同的结果,因为这两个表具有不同的id吗?我的想法是:如果lat和long为空,我逐行读取第一个表,然后一直读取整个第二个表(这就是我将其放入循环的原因),以检查是否存在对应的匹配。我错了吗?mysql\uuu
库已被弃用-请使用PDO或mysqli\uu
。关于压痕的事。小心SQL注入谢谢。这是脱机的,我只是想更新我的数据库。我不明白你在做什么。您正在从两个表中读取数据,并且似乎希望这些行彼此对应。但是没有按排序,所以您以随机顺序读取每个表。您可能只需在两个SQL查询中编写它,然后使用SQL而不是PHPI。不知道如何使用它,按id排序?这不会产生相同的结果,因为这两个表具有不同的id吗?我的想法是:如果lat和long为空,我逐行读取第一个表,然后一直读取整个第二个表(这就是我将其放入循环的原因),以检查是否存在对应的匹配。我错了吗?嗨,我试过了,现在有错误的值时它不会更新,但有正确的值时它也不会更新。嗨,我试过了,现在有错误的值时它不会更新,但有正确的值时它也不会更新。嗨,我试过了,现在有错误的值时它不会更新,但是当有正确的值时它也不会更新。嗨,我试过了,现在当有错误的值时它不会更新,但是当有正确的值时它也不会更新。谢谢,这很有效。我不知道你能那样做。谢谢你,这很有效。我不知道你能那样做。谢谢你,这很有效。我不知道你能那样做。谢谢你,这很有效。我不知道你能那样做。