1

テーブルに単一の行を挿入しようとしています。雌馬がいて、何十もの例を使用しようとしましたtinterwebが、成功しませんでした.PDOがどのように機能するかをまだ理解していないだけです.

$stmt = $dbh->prepare ("INSERT INTO table_name (date, link, desc) 
VALUES (:date,:name,:desc)");
$stmt -> bindParam(':date', $date);
$stmt -> bindParam(':name', $name);
$stmt -> bindParam(':desc', $desc);
$stmt -> execute();

move_uploaded_file($_FILES["file"]["tmp_name"], $upload);    
4

1 に答える 1

1
  1. ユーザーからのクエリへの直接入力を許可しないでください。
  2. ユーザー定義のテーブル名も使用しないでください。データベース構造が間違っています。すべてのユーザーのデータを格納するために、事前定義された単一のテーブルである必要があります。したがって、テーブル名ではなく、フィールドの内容である必要があります
  3. 最初に PDO に接続し、適切に作成する必要があります。PDO タグ wikiの例を参照してください
  4. したがって、エラーを表示できます。
  5. descエラーから、それが予約語であり、フォーマットする必要があることを知る必要があります。

したがって、コードは

$stm = $dbh->prepare("INSERT INTO table (date,link,`desc`,type) VALUES (?,?,?,?)");
$stm->execute(array($date,$name,$desc,$type));

move_uploaded_file($_FILES["file"]["tmp_name"], $upload);   
于 2013-04-08T08:33:09.223 に答える