Php 使用循环更新sql(PDO)

Php 使用循环更新sql(PDO),php,sql,pdo,Php,Sql,Pdo,如果有人能看一下我的代码,告诉我怎么处理它。我认为这是对的,但显然不是 <? require_once("dblogin.php"); $sth = $conn->prepare("SELECT * FROM country_city_zip WHERE country = US"); $sth->execute(); while ($row = $sth->fetch(PDO::FETCH_ASSOC)) { $sql ="UPDATE country_city_z

如果有人能看一下我的代码,告诉我怎么处理它。我认为这是对的,但显然不是

<? require_once("dblogin.php");
$sth = $conn->prepare("SELECT * FROM country_city_zip WHERE country = US");
$sth->execute();
while ($row = $sth->fetch(PDO::FETCH_ASSOC)) { 

$sql ="UPDATE country_city_zip SET uni = '".$row['country']."-".$row['zip']."' WHERE country = '".$row['country']."' AND zip = '".$row['zip']."'"; 
$count = $conn->exec($sql);

} ?>
试试这个:

UPDATE country_city_zip SET uni = Concat(country,'-',zip)
不需要循环…

尝试以下方法:

UPDATE country_city_zip SET uni = Concat(country,'-',zip)
不需要循环…

尝试此查询

$sql= "UPDATE country_city_zip SET uni = '".concat($row['country'],"-",$row['zip'])."' WHERE country = '".$row['country']."' AND zip = '".$row['zip']."'";
我假设您在sql查询中遇到了问题,并基于此,我将发布我的答案

我希望问题得到解决,如果您有任何问题,请告诉我。

尝试此查询

$sql= "UPDATE country_city_zip SET uni = '".concat($row['country'],"-",$row['zip'])."' WHERE country = '".$row['country']."' AND zip = '".$row['zip']."'";
我假设您在sql查询中遇到了问题,并基于此,我将发布我的答案


我希望问题得到解决,如果您有任何问题,请告诉我。

所以基本上您只希望我这样做:$sql=“UPDATE country\u city\u zip SET uni=Concat(country,“-”,zip)”$计数=$conn->exec($sql);是的。。。但永远不要在真实数据上测试建议的解决方案。。。或者至少有一个备份可用。。。太安全了,这才是解决办法。。以某种方式我选择不创建脚本来为我做这件事。。因为当我刚刚在数据库的SQL字段中键入你写的句子时,它正是我想要的。。我只是觉得如果你想要一个剧本来为你做这件事似乎很难。。。谢谢@BrianAdkins建议的查询将更新表中的所有行。在上面的select语句中,您似乎获取了country列的值为“US”的记录,因此我建议您在查询中添加一个where子句$计数=$conn->exec($sql);是的。。。但永远不要在真实数据上测试建议的解决方案。。。或者至少有一个备份可用。。。太安全了,这才是解决办法。。以某种方式我选择不创建脚本来为我做这件事。。因为当我刚刚在数据库的SQL字段中键入你写的句子时,它正是我想要的。。我只是觉得如果你想要一个剧本来为你做这件事似乎很难。。。谢谢@BrianAdkins建议的查询将更新表中的所有行。在上面的select语句中,您似乎获取了country列值为“US”的记录,因此我建议您在查询中添加where子句。我似乎没有遇到任何问题,但是它仍然不会更新表中的数据。请回显您的查询并检查得到了什么值,但您仍然没有得到,然后将查询放在这里@Philip Jens Bramstedit不做任何事情。。但当我只是在数据库的SQL字段中使用这个句子时,它就起作用了。。。不需要脚本。无论如何,谢谢..我似乎没有遇到任何问题,但它仍然不会更新表中的数据。请回显您的查询并检查得到的值,但您仍然没有得到,然后将查询放在这里@Philip Jens Bramstedit没有任何作用。。但当我只是在数据库的SQL字段中使用这个句子时,它就起作用了。。。不需要脚本。无论如何,谢谢你。。