-2

このステートメントのどこに構文エラーがありますか? この場合、「? bind param メソッド」を使用できますか? PDOを使用しています

$stmt = $dbh->prepare("INSERT INTO epinfo WHERE TVShowTitle=? (Season, Episode, SDLink, HDLink, DlSDLink, DlHDLink) VALUES (?, ?, ?, ?, ?, ?)");
$stmt->bindParam(1, $_POST[tvshow]);
$stmt->bindParam(2, $_POST[season]);
$stmt->bindParam(3, $_POST[episode]);
$stmt->bindParam(4, $_POST[sdlink]);
$stmt->bindParam(5, $_POST[hdlink]);
$stmt->bindParam(6, $_POST[dlsdlink]);
$stmt->bindParam(7, $_POST[dlhdlink]);
$stmt->execute();

Error message:

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE TVShowTitle='Breaking Bad' (Season, Episode, SDLink, HDLink, DlSDLink, DlH' at line 1
4

3 に答える 3

1

標準INSERT構文にはWHERE節がありません。私はあなたがUPDATEあなたの既存のレコードにしたいと思います。

UPDATE epinfo 
SET Season = ?, 
    Episode = ?, 
    SDLink = ?, 
    HDLink = ?, 
    DlSDLink = ?, 
    DlHDLink = ?
WHERE TVShowTitle=?
于 2013-09-22T17:33:40.190 に答える