2014-02-26 138 views
0

我敢肯定我錯過了一些明顯的東西,請快看,謝謝。問題可能出現在結構中(下面發佈)。爲什麼這個簡單的MySQL查詢失敗?

public function addNewFile($ext) { 
    $addNewFileQuery = "INSERT INTO pictures (ext) VALUES (".$ext.")"; 

    $result = mysqli_query($this->connection, $addNewFileQuery) or die('could not execute query in addnewfile, extension: '.$ext.' query: '. $addNewFileQuery); 
    return(mysqli_insert_id($this->connection)); 
} 

顯示模錯誤信息是: 「不能在addnewfile執行查詢,擴展名:GIF查詢:INSERT INTO圖片(EXT)VALUES(GIF)」

數據庫的結構:

Name Type   Collation Attributes Null Default Extra 

id  bigint(20)        No  None AUTO_INCREMENT (primary) 

ext  varchar(6)  latin1_swedish_ci  No  None 

title varchar(100) latin1_swedish_ci  Yes  NULL 

caption varchar(200) latin1_swedish_ci  Yes  NULL 

date_uploaded timestamp       No  CURRENT_TIMESTAMP 
+0

謝謝大家權之前......>< – Andrew

回答

4

你缺少圍繞價值單引號插入

$addNewFileQuery = "INSERT INTO pictures (ext) VALUES ('".$ext."')"; 

這是通過報價查詢

INSERT INTO pictures (ext) VALUES (gif) 

你可以看到那裏gif是錯誤消息,取得了明顯由於缺乏引號,因此不是字符串。

1

您的查詢缺少價值的報價。

... = "INSERT INTO pictures (ext) VALUES ('".$ext."')"; 
1

這是因爲你缺少的單引號插入變量

改變它

$addNewFileQuery = "INSERT INTO pictures (ext) VALUES ('".$ext."')"; 
1

可以使用也這 -

$addNewFileQuery = "INSERT INTO pictures (ext) VALUES ('$ext')"; 
相關問題