0

準備済みステートメントを使用して、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))
  • 山 (varchar(255))
  • ヒルズ (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))
  • 評価(倍)
  • FileSize(BigInt(20)

(合計 21)

注:テストデータベースで準備済みステートメントを試しましたが、列が1つしかなく、機能していました...

4

1 に答える 1

0

一連の試行錯誤の後、問題を解決することができました。

次のように思われました。

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

列名をリストする必要がありました:

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

それを機能させるために必要な変更でした。確認するために、すべてが機能するようになりました。これについてのみんなのサポートに感謝します! :)

于 2013-04-23T13:51:58.580 に答える