我有这个数组,其中包含要插入到所述列中的列和数据:
if($this->_insert(array(
'name'=>$fileName,
'size'=>$fileSize,
'ext'=>$fileExt,
'artist'=>$username
))){
artist
当不存在或artist
等于字符串时,它可以正常工作。例如,如果artist
等于:
$username = $user_data['username'];
这没用。(我已经检查过这是否反映了正确的数据并且确实如此)
但如果artist
等于:
$username = "test";
然后它将提交正确的数据,artist
并且一切都正确。
这是 _insert 函数:
public function _insert($array)
{
$this->_database=new UploadDatabase();
$this->_database->connect();
$values = array_values($array);
//format fields string
$fields = implode(',', array_keys($array));
//$fields = array("name","size", "path", "ext");
return $this->_database->insert('audio',$values,$fields);
}
总而言之,用户名在它是真正的用户名变量时会破坏sql,但在它是硬编码字符串时不会。这些问题整天困扰着我,我尝试了无数方法,但我几乎要放弃了!