csvスクリプトを実行してアップロードしようとすると、意味をなさないエラーが発生します。無効なトークン。私の列が私の ?,?,?,?,? と一致しないと表示されます。5 列、5 ? 疑問符、私は何を見逃したのですか?
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<form enctype="multipart/form-data" method="POST">
<input name="userfile" type="file">
<input type="submit" value="Upload">
<input name="row_name" type="text">
</form>
<?php
$dsn = "mysql:host=$host;port=$port;dbname=$dbname"; //Data Source Name = Mysql
(isset($rowname = $_POST['row_name']));
$db = new PDO($dsn, $db_username, $db_password); //Connect to DB
$do = $db->prepare(
"CREATE TABLE IF NOT EXISTS $username.$rowname (
id INT AUTO_INCREMENT NOT NULL,
list_name varchar(100) NOT NULL,
fname char(60),
lname char(60),
list_email varchar(100),
PRIMARY KEY (id)
)
CHARACTER SET utf8 COLLATE utf8_general_ci
TRUNCATE TABLE $username.$rowname
INSERT INTO $username.$rowname VALUES(?,?,?,?,?)"
);
$csv_file = $_FILES['userfile']['tmp_name'];
if (($handle = fopen($csv_file, "r")) !== FALSE) {
while (($data = fgetcsv($handle)) !== FALSE) {
$do->execute($data);
var_dump($data);}
fclose($handle);}
exit( "Complete!" );
?>
</body>
</html>
エラー
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in /home/wemail1/www/pages/campaign-build.inc.php on line 58
サンプルデータ:
fname, lname, email
joe, schmoe, bogus@bogus.com
mary, lamb, hoe@us.com