我希望能够使用新图像更新人质图像,但它不起作用。它使用AJAX将数据发送到数据库。 我从AJAX得到以下回复:
Temp/Thumb/6587_1480425818.pngimages
/acomodate/172/thumbnail/7483_1480052721.png
images/acomodate/172/thumbnail/2243_1480052767.png
我正在使用下面的代码将新图像添加到数据库中。但是当我跑的时候没有任何反应。它没有将数据插入表中。
$r = $_REQUEST['id'];
$db21 = new Database();
$db21->connect();
$services = explode(',', $_REQUEST['allimg']);
$tot_ser = count($services);
for ($i = 0; $i < $tot_ser - 1; $i++)
{
echo $imgpath0 = $services[$i];
$ar0 = explode('/', $imgpath0);
$imgpath0 = $ar0[2];
if (!file_exists('../../images/acomodate/' . $r . '/'))
{
mkdir('../../images/acomodate/' . $r . '/', 0777, TRUE);
}
if (!file_exists('../images/acomodate/' . $r . '/thumbnail/'))
{
mkdir('../images/acomodate/' . $r . '/thumbnail/', 0777, TRUE);
}
rename('Temp/' . $imgpath0, '../images/acomodate/' . $r . '/');
rename('Temp/Thumb/' . $imgpath0, '../images/acomodate/' . $r . '/thumbnail/');
$db21->update('hostimages', array($r, $imgpath0) , 'hostid','image');
}
修改的 用于更新的数据库类
public function update($table,$rows,$where)
{
if($this->tableExists($table))
{
// Parse the where values
// even values (including 0) contain the where rows
// odd values contain the clauses for the row
for($i = 0; $i < count($where); $i++)
{
if($i%2 != 0)
{
if(is_string($where[$i]))
{
if(($i+1) != null)
$where[$i] = '"'.$where[$i].'"';
else
$where[$i] = '"'.$where[$i].'" AND';
}
}
}
$where = implode('',$where);
$update = 'UPDATE '.$table.' SET ';
$keys = array_keys($rows);
for($i = 0; $i < count($rows); $i++)
{
if(is_string($rows[$keys[$i]]))
{
$update .= $keys[$i].'="'.$rows[$keys[$i]].'"';
}
else
{
$update .= $keys[$i].'='.$rows[$keys[$i]];
}
// Parse to add commas
if($i != count($rows)-1)
{
$update .= ',';
}
}
$update .= ' WHERE '.$where;
// echo $update;
$query = @mysql_query($update);
if($query)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
你们可以帮助我吗? 谢谢。