2016-07-16 52 views
-3

我想更新一个已经在数据库中的行,并且我正在使用上面的代码,但它给了我错误,因为'未定义的ID',所以我该怎么做.....请帮助我! !如何从数据库获取'id'以更新特定行?

if(isset($_POST['sub'])) { 
    $getid="select id from login"; 
    $res=mysql_query($getid); 
    $ids=$_GET[$row['id']]; 

    $about=$_POST['desc']; 
    $pri=$_POST['price']; 
    $ride=$_POST['fly']; 
    $city=$_POST['ct']; 

    $flt=""; 
    foreach($ride as $entry) { 
     $flt .= $entry.","; 
    } 
    $ct=""; 
    foreach($city as $entry) { 
     $ct .= $entry.","; 
    } 

    $query ="UPDATE login SET rides='$flt',price=$pri,about='$about',city='$ct' WHERE id='$ids'"; 

    $result = mysql_query($query); 
    echo $result; 
    if(!$result) { 
     echo '<script language="javascript">'; 
     echo 'alert("something went Wrong...:("); 
     location.href="edit.php"'; 
     echo '</script>'; 
    } else { 
     echo '<script language="javascript">'; 
     echo 'alert("successfully updated!!!"); 
     location.href="edit.php"'; 
     echo '</script>'; 
    } 
} 
+0

你能提供总的错误信息吗?mysql_ *查询已被废弃在php5中并在php7中被删除。 –

+0

你错过了$ in id = $ id并且$ id包含了什么? –

+0

整个$ ids变量设置错误。你甚至还没有完成返回查询结果。 –

回答

0
$res=mysql_query($getid); $ids=$_GET[$row['id']]; 

你需要通过执行和获取 如果获取的ID想要所有ids然后你必须将它存储在数组中,然后将它打包或连接成单个变量,然后在where条件下使用它更新查询使用IN子句

0

从数据库读取的ID使用$ conn变量来执行的,而不是MySQL的查询中使用的mysqli

$getid="select id from login"; 
$res=mysqli_query($conn,$getid); 
while($row = mysqli_fetch_assoc($res)) 
{ 
$ids[]=$row['id']; 
} 
+0

如果100条记录存在。然后,它将只读取最后一个记录ID。不可行的方式。 –

+0

它不工作!!! :( – Rkboss

+0

必须存储在阵列中的id –

相关问题