2015-05-25 44 views
-1

我希望将mass_reach列中的数据库中的当前值添加到变量名称$ newmass(常数值)下的新值中。我在下面创建了一个双桶循环来提取当前的值,然后添加它并更新第二个循环中的值,但似乎无法实现。添加到已经在mySQL数据库中的东西

if(isset($_POST['mass_reach'])){ 
    $massreach = $_POST['mass_reach']; 

     foreach ($massreach as $massreach_id) { 
     $query4 = "SELECT mass_reach FROM coaches WHERE id='{$massreach_id}'";  
     $result4 = mysqli_query($con, $query4); 
     $query2 = "UPDATE coaches SET mass_reach='{$newmass}'+'{$result4}' WHERE id='{$massreach_id}'";   
     $result = mysqli_query($con, $query2); 
     } 
} 

I am getting the error: I get the error: Catchable fatal error: Object of class mysqli_result could not be converted to string in line 8 ie

$query2 = "UPDATE coaches SET mass_reach='{$mass}'+'{$result4}' WHERE id='{$massreach_id}'";   
+0

您还需要在更新之前获取数据。 –

+0

提取对象怎么样? –

+0

更新了$ result4。不知道该对象将如何结构化。 Uchiha – Welsh

回答

0
function get_string_between($string, $start, $end){ 
$string = " ".$string; 
$ini = strpos($string,$start); 
if ($ini == 0) return ""; 
$ini += strlen($start);  
$len = strpos($string,$end,$ini) - $ini; 
return substr($string,$ini,$len);} 

foreach ($mass_reach as $string) { 

    $c_id = get_string_between($string,"[","]"); 
    $c_mass = get_string_between($string,"(",")"); 
    $query2 = "UPDATE coaches SET mass_reach='{$mass}' + '{$c_mass}' WHERE id='{$c_id}'";  
    $result2 = mysqli_query($con, $query2); 
} 
+0

我设法宁愿将数据库中的数据添加到数组中,然后进行更新。谢谢你们的帮助。 – Welsh

相关问题