2013-04-22 70 views
0

我正在嘗試使用預先準備好的語句從PHP填充我的表。SQL,PHP,編寫聲明

但是沒有錯誤被拋出,數據沒有進入表格。這裏是我的代碼:

$stmt = $mysqli->prepare("INSERT INTO Parks VALUES (null,?,?,?,?,?,?,?,?,?,?,?,?,?,Now(),?,?,?, 0, 0, 0)"); 
    if ($stmt === FALSE) { 
    die ("Mysql Error: " . $mysqli->error); 
    } 
    $stmt->bind_param('ssssssssssssssss', $name, $theme, $size, $mountains, $hills, $river, $lake, $island, $setofislands, $ocean, $waterfalls, $file, $image, $description, $author,$cs); 

    $stmt->execute(); 
    $stmt->close(); 
    $mysqli->close(); 

在此先感謝。

數據類型:

  • ID(INT(自動增量))
  • 名稱(VARCHAR(255))
  • 主題(VARCHAR(255))
  • 尺寸(VARCHAR(255 ))
  • Mountains(varchar(255))
  • Hills(varchar(255))
  • 個裏弗斯(VARCHAR(255))
  • 湖(VARCHAR(255))
  • 島(VARCHAR(255))
  • Setofislands(VARCHAR(255))
  • 海洋(VARCHAR(255))
  • 瀑布(VARCHAR(255))
  • 文件(VARCHAR(255))
  • 圖片(VARCHAR(255))
  • DateUploaded(日期)
  • 說明(VARCHAR(255))
  • 作者(VARCHAR(255))
  • CS(VARCHAR(2000))
  • 下載(INT(255))
  • 評級(雙)
  • 文件大小(BigInt有(20)

(共21個)

注:我已經嘗試了測試數據庫,剛度過一個列和工作在準備好的發言...

+0

嘗試下探bind_param(),並把數據在您需要檢查$ mysqli->錯誤的每一次互動後,用數據庫 – Waygood 2013-04-22 16:13:00

+3

這裏 – 2013-04-22 16:14:21

+0

@ user1662290您可以張貼錯誤的execute() – 2013-04-22 16:15:30

回答

-1

經過一系列的試驗和錯誤,我能夠解決問題。

它似乎:

$stmt->bind_param('ssssssssssssssssi', etc 
$stmt->exceute(); 

需要和列明的列名:

Insert into Parks (name, description) Values (?, ?) 

是使它工作需要作出的改變。 要確認,現在所有的作品,謝謝大家的支持! :)

+0

1.如果您的值與表中的所有字段匹配,則不需要該列表。 2.無論如何,mysql會在這種情況下拋出錯誤,並且您已被告知已經檢查錯誤。 – 2013-04-23 13:59:24