列とその列に挿入されるデータを保持するこの配列があります。
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を分割しますが、ハードコードされた文字列の場合は分割しません。問題は一日中私を悩ませていました、そして私は無数の方法を試しました、しかし私はあきらめようとしています!